Elaztek Developer Hub
Blamite Game Engine - blam!  00423.10.27.24.0533.blamite
The core library for the Blamite Game Engine.
BlamWorldObject_Gizmo Class Referenceabstract

Class representing a gizmo world object. More...

#include <world_objects.h>

+ Inheritance diagram for BlamWorldObject_Gizmo:
+ Collaboration diagram for BlamWorldObject_Gizmo:

Public Member Functions

 BlamWorldObject_Gizmo (BlamWorldState *_world, BlamWorldObjectType _type)
 
 BlamWorldObject_Gizmo (BlamWorldObject *_parent, BlamWorldObjectType _type)
 
virtual void Render ()
 Renders the object to the screen. More...
 
virtual void Update ()=0
 
virtual void Rebuild ()=0
 
void MarkForUpdate ()
 
void MarkForRebuild ()
 
- Public Member Functions inherited from BlamWorldObject
 BlamWorldObject (BlamWorldState *_world, BlamWorldObjectType _type)
 Creates a new world object. More...
 
 BlamWorldObject (BlamWorldObject *_parent, BlamWorldObjectType _type)
 
virtual ~BlamWorldObject ()
 
virtual void ShowImGuiEditControls ()
 
uint64_t GetID ()
 
Ogre::SceneNode * GetParentSceneNode ()
 
BlamVector3 GetRotation ()
 
void SetRotation (BlamVector3 _rotation, bool local_axes=false)
 
void SetRotation (float x, float y, float z, bool local_axes=false)
 
void SetRotation (BlamAxis axis, float amount, bool local_axes=false)
 
BlamVector3 GetPosition ()
 
void SetPosition (BlamVector3 position)
 
void SetPosition (float x, float y, float z)
 
BlamVector3 GetScale ()
 
void SetScale (BlamVector3 scale)
 
void SetScale (float x, float y, float z)
 
BlamVector3 GetScaleModifier ()
 
void SetScaleModifier (BlamVector3 scale)
 
void SetScaleModifier (float x, float y, float z)
 
bool GetHidden ()
 
void SetHidden (bool hidden)
 
std::string GetName ()
 
void SetName (std::string name)
 
virtual void OnMouseHoverEnter ()
 
virtual void OnMouseHoverExit ()
 
virtual void OnMouseMove (MouseMoveEvent *event)
 
virtual void OnMouseClick (MouseClickEvent *event)
 
virtual void OnMouseUnclick (MouseUnclickEvent *event)
 

Protected Attributes

bool needs_update = true
 
bool needs_rebuild = true
 

Additional Inherited Members

- Public Attributes inherited from BlamWorldObject
uint64_t id = 0
 A unique identifier for this object. Used to identify objects during runtime. More...
 
std::string description = ""
 An optional description of this object. More...
 
int editor_folder_id = 0
 The editor folder that this object exists within. Only used within the editing kit. More...
 
BlamWorldStateworld = nullptr
 The world state this object belongs to. More...
 
BlamWorldObjectparent = nullptr
 
BlamWorldObjectType type = BlamWorldObjectType::Unspecified
 The type of this world object. More...
 
Ogre::SceneNode * scene_node = nullptr
 

Detailed Description

Class representing a gizmo world object.

Gizmos (or Editor Gizmos) are special world objects that are used to provide editing/debugging functionality in-engine. Typical examples of gizmos could be object transform gizmos (used to move objects in the world), bounding boxes, grids, etc.

For all possible primitive types, see #Blam3DPrimitiveType.

Constructor & Destructor Documentation

◆ BlamWorldObject_Gizmo() [1/2]

BlamWorldObject_Gizmo::BlamWorldObject_Gizmo ( BlamWorldState _world,
BlamWorldObjectType  _type 
)
inline

◆ BlamWorldObject_Gizmo() [2/2]

BlamWorldObject_Gizmo::BlamWorldObject_Gizmo ( BlamWorldObject _parent,
BlamWorldObjectType  _type 
)
inline

Member Function Documentation

◆ MarkForRebuild()

void BlamWorldObject_Gizmo::MarkForRebuild ( )
+ Here is the caller graph for this function:

◆ MarkForUpdate()

void BlamWorldObject_Gizmo::MarkForUpdate ( )
+ Here is the caller graph for this function:

◆ Rebuild()

virtual void BlamWorldObject_Gizmo::Rebuild ( )
pure virtual

Implemented in BlamWorldObject_Gizmo3DCursor, BlamWorldObject_GizmoTransform, and BlamWorldObject_GizmoGrid.

+ Here is the caller graph for this function:

◆ Render()

void BlamWorldObject_Gizmo::Render ( )
virtual

Renders the object to the screen.

Reimplemented from BlamWorldObject.

Reimplemented in BlamWorldObject_Gizmo3DCursor, BlamWorldObject_GizmoTransform, and BlamWorldObject_GizmoGrid.

+ Here is the call graph for this function:

◆ Update()

virtual void BlamWorldObject_Gizmo::Update ( )
pure virtual

Implemented in BlamWorldObject_Gizmo3DCursor, BlamWorldObject_GizmoTransform, and BlamWorldObject_GizmoGrid.

+ Here is the caller graph for this function:

Member Data Documentation

◆ needs_rebuild

bool BlamWorldObject_Gizmo::needs_rebuild = true
protected

◆ needs_update

bool BlamWorldObject_Gizmo::needs_update = true
protected

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