BlankMat 0.1.0
Free open-source 3D texture creation application
Loading...
Searching...
No Matches
CameraContainer Class Reference
Inheritance diagram for CameraContainer:
Collaboration diagram for CameraContainer:

Public Member Functions

virtual bool IsDeleteable (Camera *item)
 Returns whether the given item is deletable (ie. not a default element or internal)
 
 CameraContainer (ActionStack *actionStack)
 Constructs a camera container with the action stack used to track UI variables.
 
- Public Member Functions inherited from IContainer< Camera >
void Read (const std::string &scope, std::ifstream &file, bool clear) override
 Reads this container from the file.
 
void Write (std::ofstream &file) override
 Writes this container to the file.
 
void Clear () override
 Clears the container of all items, deleting them.
 
void ClearData ()
 Clears the data of the container without deleting it. Only use this if pointers to the data exist elsewhere.
 
unsigned int WriteCount () override
 Returns the number of items that will be written from the container.
 
unsigned int Count ()
 Returns the number of elements in the container.
 
bool Empty ()
 Returns whether the container is empty or not.
 
virtual std::string GetUniqueName (const std::string &name)
 Returns a unique name, incrementing the existing name until it is unique.
 
virtual bool Select (const std::string &name)
 Selects the given item. Does nothing if the item is not part of the container.
 
virtual bool Select (Camera *item)
 Selects the given item. Does nothing if the item is not part of the container.
 
virtual void Deselect ()
 Deselects the currently selected item.
 
virtual const std::string GetSelectedName ()
 Returns the currently selected item.
 
virtual CameraGetSelectedItem ()
 Returns the currently selected item.
 
virtual CameraAdd (const std::string &name, Camera *item, bool replace, bool select=false)
 Adds the given item to the container, or if it already exists, updates the item to the given one.
 
virtual bool TryDelete (Camera *item)
 Attempts to delete the given item. Does nothing if the item is not deleteable or is null.
 
virtual bool Remove (const std::string &name)
 Removes the given item from the container.
 
virtual bool Remove (Camera *item)
 Removes the given item from the container.
 
virtual CameraGetItem (const std::string &name)
 Returns the item with the given key, or nullptr if not found.
 
virtual const std::string GetKey (Camera *item)
 Returns the key of the item given, or an empty string if not found.
 
virtual bool Contains (const std::string &name)
 Returns whether the container contains an item with the given name.
 
virtual bool Rename (const std::string &name, const std::string &newName)
 Renames the given item to the new name, or the new name with appended numbers.
 
virtual const std::unordered_map< std::string, Camera * > & Data ()
 Returns a reference to the data stored in the container.
 
 ~IContainer ()
 Clears all of the container, deleting its elements.
 

Protected Member Functions

void RenameItem (Camera *item, const std::string &name) override
 Renames the given item to the given name.
 
const std::pair< std::string, Camera * > ReadItem (const std::string &scope, std::ifstream &file) override
 Reads the next item from the input file stream.
 
void WriteItem (const std::string &key, Camera *item, std::ofstream &file) override
 Writes the given item into the output file stream.
 
- Protected Member Functions inherited from IContainer< Camera >
virtual bool SkipItem (Camera *item)
 Returns whether the item should be skipped or not.
 

Protected Attributes

ActionStackmActionStack = nullptr
 Action stack used to connect camera to UI.
 
- Protected Attributes inherited from IContainer< Camera >
std::unordered_map< std::string, Camera * > mData
 Data of the container.
 
std::string mCurSelectedName
 Currently selected item's name.
 
CameramCurSelectedItem
 Currently selected item.
 

Constructor & Destructor Documentation

◆ CameraContainer()

CameraContainer::CameraContainer ( ActionStack actionStack)
inlineexplicit

Constructs a camera container with the action stack used to track UI variables.

Parameters
actionStackActionStack of the app

Member Function Documentation

◆ IsDeleteable()

virtual bool CameraContainer::IsDeleteable ( Camera item)
inlinevirtual

Returns whether the given item is deletable (ie. not a default element or internal)

Parameters
itemItem to consider
Returns
Whether the item can be deleted safely

Reimplemented from IContainer< Camera >.

◆ ReadItem()

const std::pair< std::string, Camera * > CameraContainer::ReadItem ( const std::string &  scope,
std::ifstream &  file 
)
inlineoverrideprotectedvirtual

Reads the next item from the input file stream.

Parameters
scopeScope to read item in
fileFile to read
Returns
Newly constructed item from file

Implements IContainer< Camera >.

◆ RenameItem()

void CameraContainer::RenameItem ( Camera item,
const std::string &  name 
)
inlineoverrideprotectedvirtual

Renames the given item to the given name.

Parameters
itemItem to rename

Implements IContainer< Camera >.

◆ WriteItem()

void CameraContainer::WriteItem ( const std::string &  key,
Camera item,
std::ofstream &  file 
)
inlineoverrideprotectedvirtual

Writes the given item into the output file stream.

Parameters
keyKey of item
itemItem to write
fileFile to write to

Implements IContainer< Camera >.

Member Data Documentation

◆ mActionStack

ActionStack* CameraContainer::mActionStack = nullptr
protected

Action stack used to connect camera to UI.