Ocular Engine
Ocular::Core::Object Class Reference

Base class of all representable Ocular constructs. More...

#include <Object.hpp>

Inheritance diagram for Ocular::Core::Object:
Ocular::Core::ObjectIO Ocular::Core::Exposable Ocular::Core::Buildable Ocular::Core::AEvent Ocular::Core::ARenderable Ocular::Core::ARoutine Ocular::Core::AWindow Ocular::Core::SceneObject Ocular::Core::KeyboardInputEvent Ocular::Core::MouseButtonInputEvent Ocular::Core::MouseMoveInputEvent Ocular::Core::MouseScrollInputEvent Ocular::Core::SceneObjectAddedEvent Ocular::Core::SceneObjectRemovedEvent Ocular::Core::ShutdownEvent Ocular::Core::WindowResizeEvent Ocular::Editor::MaterialSelectedEvent Ocular::Editor::SceneObjectFocusedEvent Ocular::Editor::SceneObjectSelectedEvent Ocular::Core::CameraRenderable Ocular::Core::MeshRenderable Ocular::Core::PointLightRenderable Ocular::Editor::AxisGizmoRenderable Ocular::Core::FreeFlyController Ocular::Editor::AxisGizmoRoutine Ocular::Editor::EditorCameraController Ocular::Editor::InputLogger Ocular::Core::Camera Ocular::Core::LightSource Ocular::Editor::Gizmo

Public Member Functions

 Object (std::string name, std::string className)
 Creates a new Object with the specified name and class. More...
 
 Object (std::string name)
 Creates a new Object with the specified name. More...
 
 Object ()
 Creates a new Object with the default name ('Name').
 
std::string const & getName () const
 
void setName (std::string name)
 Sets the name of the Object. More...
 
std::string const & getClass () const
 
void setUUID (std::string const &uuid)
 
UUID const & getUUID () const
 
int64_t getCreationTime () const
 
virtual std::string toString () const
 
template<class T >
bool isType ()
 
- Public Member Functions inherited from Ocular::Core::ObjectIO
virtual void onLoad (BuilderNode const *node) override
 
virtual void onSave (BuilderNode *node) const override
 
- Public Member Functions inherited from Ocular::Core::Exposable
void getAllExposedNames (std::vector< std::string > &names) const
 
bool getVariable (std::string const &name, ExposedVariable &var)
 
template<typename T >
bool getVariableValue (std::string const &name, T &var)
 
template<typename T >
bool setVariableValue (std::string const &name, T const &value)
 
virtual void onVariableModified (std::string const &varName)
 

Protected Attributes

std::string m_Name
 
std::string m_Class
 
UUID m_UUID
 
const int64_t m_CreationTime
 
- Protected Attributes inherited from Ocular::Core::Exposable
std::unordered_map< std::string, ExposedVariablem_ExposedVariables
 

Additional Inherited Members

- Protected Member Functions inherited from Ocular::Core::Exposable
void exposeVariable (std::string const &name, std::string const &type, bool isPointer, bool isExposed, void *data)
 

Detailed Description

Base class of all representable Ocular constructs.

Constructor & Destructor Documentation

Ocular::Core::Object::Object ( std::string  name,
std::string  className 
)

Creates a new Object with the specified name and class.

Parameters
name
className
Ocular::Core::Object::Object ( std::string  name)

Creates a new Object with the specified name.

Parameters
name

Member Function Documentation

std::string const & Ocular::Core::Object::getClass ( ) const
Returns
String representation of the object's Class
int64_t Ocular::Core::Object::getCreationTime ( ) const
Returns
The time this object was created in MS since engine initialization
std::string const & Ocular::Core::Object::getName ( ) const
Returns
The name of the Object
UUID const & Ocular::Core::Object::getUUID ( ) const
Returns
The UID of the Object
void Ocular::Core::Object::setName ( std::string  name)

Sets the name of the Object.

Parameters
name
void Ocular::Core::Object::setUUID ( std::string const &  uuid)

Sets the UUID based off of the properly formatted UUID string.

Parameters
[in]uuid
std::string Ocular::Core::Object::toString ( ) const
virtual
Returns
The string representation of the Object

Member Data Documentation

std::string Ocular::Core::Object::m_Class
protected

Name of the class of which Object is an instance

std::string Ocular::Core::Object::m_Name
protected

Non-unique name of the Object


The documentation for this class was generated from the following files: