Ocular Engine
Ocular::Editor::AxisGizmo Class Reference

#include <AxisGizmo.hpp>

Inheritance diagram for Ocular::Editor::AxisGizmo:
Ocular::Editor::Gizmo Ocular::Core::SceneObject Ocular::Core::Object Ocular::Core::ObjectIO Ocular::Core::Exposable Ocular::Core::Buildable

Public Member Functions

 AxisGizmo (Core::SceneObject *parent=nullptr)
virtual void setSelected (bool selected) override
virtual Math::Matrix4x4 getModelMatrix (bool local=true) const override
void clearDepthBuffer ()
- Public Member Functions inherited from Ocular::Editor::Gizmo
 Gizmo (std::string const &name, Core::SceneObject *parent, std::string const &type)
bool isSelected () const
- Public Member Functions inherited from Ocular::Core::SceneObject
 SceneObject (std::string const &name, SceneObject *parent=nullptr, std::string const &type="SceneObject")
 SceneObject ()
virtual ~SceneObject ()
virtual void onVariableModified (std::string const &varName) override
Math::TransformgetTransform ()
void setActive (bool active)
bool isActive () const
void setVisible (bool visible)
bool isVisible () const
void setForcedVisible (bool forced)
bool isForcedVisible () const
void setStatic (bool isStatic)
bool isStatic () const
void setPersistent (bool persists)
bool isPersistent () const
Graphics::UniformPerObject const & getUniformData (Math::Matrix4x4 const &viewMatrix, Math::Matrix4x4 const &projMatrix)
void setPosition (float x, float y, float z)
void setPosition (Math::Vector3f const &position)
Math::Vector3f getPosition (bool local=true) const
void translate (Math::Vector3f const &translation, bool local=true)
void rotate (float angle, Math::Vector3f const &axis)
void rotate (Math::Quaternion const &rotation)
void setRotation (Math::Quaternion const &rotation)
void resetRotation ()
Math::Quaternion const & getRotation () const
void setScale (Math::Vector3f const &scale)
void setScale (float xScale, float yScale, float zScale)
Math::Vector3f getScale (bool local=true) const
void setTransform (Math::Transform const &transform)
void lookAt (Math::Vector3f const &point)
Math::Transform const & getTransform () const
void setParent (SceneObject *parent, bool maintainWorldPos=true)
SceneObjectgetParent () const
SceneObjectcreateChild (std::string const &name)
void addChild (SceneObject *child, bool maintainWorldPos=true)
SceneObjectfindChild (std::string const &name)
SceneObjectfindChild (UUID const &uuid)
SceneObjectremoveChild (std::string const &name)
SceneObjectremoveChild (UUID const &uuid)
SceneObjectremoveChild (SceneObject const *object)
uint32_t getNumChildren () const
std::vector< SceneObject * > const & getAllChildren () const
ARoutineaddRoutine (std::string const &name)
void addRoutine (ARoutine *routine)
template<class T >
T * addRoutine ()
bool removeRoutine (std::string const &name)
bool removeRoutine (ARoutine *routine, bool transferring=false)
void removeAllRoutines ()
ARoutinegetRoutine (std::string const &name)
std::vector< ARoutine * > const & getAllRoutines () const
uint32_t getNumRoutines () const
ARenderablesetRenderable (std::string const &name)
void setRenderable (ARenderable *renderable)
template<class T >
T * setRenderable ()
void removeRenderable (bool transferring=false)
ARenderablegetRenderable () const
virtual void onLoad (BuilderNode const *node) override
virtual void onSave (BuilderNode *node) const override
void forceBoundsRebuild ()
Math::BoundsSphere getBoundsSphere (bool local)
Math::BoundsAABB getBoundsAABB (bool local)
Math::BoundsOBB getBoundsOBB (bool local)
- Public Member Functions inherited from Ocular::Core::Object
 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::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)

Protected Attributes

uint32_t m_ClearCount
- Protected Attributes inherited from Ocular::Editor::Gizmo
bool m_IsSelected
 Set to TRUE if this Gizmo has been selected. Note that a Gizmo can not be set as the selected object.
- Protected Attributes inherited from Ocular::Core::SceneObject
uint32_t m_Layer
 The render layer this object is part of.
Graphics::UniformPerObject m_UniformData
Math::Transform m_Transform
Math::BoundsSphere m_BoundsSphereLocal
Math::BoundsAABB m_BoundsAABBLocal
Math::BoundsOBB m_BoundsOBBLocal
Math::BoundsSphere m_BoundsSphereWorld
Math::BoundsAABB m_BoundsAABBWorld
Math::BoundsOBB m_BoundsOBBWorld
- Protected Attributes inherited from Ocular::Core::Object
std::string m_Name
std::string m_Class
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::SceneObject
void getModelMatrix (Math::Matrix4x4 &matrix)
virtual void updateBounds (uint32_t dirtyFlags)
- 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

SceneObject that represents the local axis of the object it is attached to.

It is used to both visualize the object axis and to provide a means to perform a translation action from within the render frame.

Composed of this parent object and three children objects (of type AxisComponentGizmo) which represent each individual axis.

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