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

Class representing a primitive-based world object. More...

#include <world_objects.h>

+ Inheritance diagram for BlamWorldObject_Primitive:
+ Collaboration diagram for BlamWorldObject_Primitive:

Public Member Functions

 BlamWorldObject_Primitive (BlamWorldObjectType _type, BlamWorldState *_world)
 Creates a new primitive world object. More...
 
 BlamWorldObject_Primitive (BlamWorldObjectType _type, BlamWorldObject *_parent)
 
 ~BlamWorldObject_Primitive ()
 
void Render () override
 Renders the object to the screen. More...
 
void SetCustomDatabablock (Ogre::HlmsDatablock *datablock, bool wireframe)
 
void ShowImGuiEditControls () override
 
void MarkForRebuild ()
 
void SetDepthCheckEnabled (bool enable)
 
void SetQueryMask (uint32_t mask)
 
- Public Member Functions inherited from BlamWorldObject
 BlamWorldObject (BlamWorldState *_world, BlamWorldObjectType _type)
 Creates a new world object. More...
 
 BlamWorldObject (BlamWorldObject *_parent, BlamWorldObjectType _type)
 
virtual ~BlamWorldObject ()
 
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)
 

Public Attributes

Ogre::ManualObject * manual_object = nullptr
 
Ogre::HlmsDatablock * datablock = nullptr
 
Ogre::HlmsDatablock * datablock_wireframe = nullptr
 
BlamColor color = BlamColor(255, 255, 255)
 
BlamColor color_wireframe = BlamColor(255, 255, 255)
 
Blam3DPrimitiveRenderMode render_mode = Blam3DPrimitiveRenderMode::Solid
 
bool show_backfaces = false
 
bool cast_shadows = true
 
- 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
 

Protected Member Functions

virtual void CreateManualObject ()
 

Protected Attributes

bool custom_datablock = false
 
bool custom_wireframe_datablock = false
 

Detailed Description

Class representing a primitive-based world object.

Primitive world objects are simple world objects that render a generic 3D shape. These are currently planned to only be used for early testing and debugging, and will be eventually be replaced with tags once the proper tag classes are implemented.

For all possible primitive types, see #Blam3DPrimitiveType.

Constructor & Destructor Documentation

◆ BlamWorldObject_Primitive() [1/2]

BlamWorldObject_Primitive::BlamWorldObject_Primitive ( BlamWorldObjectType  _type,
BlamWorldState _world 
)

Creates a new primitive world object.

Parameters
_tag_data- The tag data that this object should represent.
_world- The world state this object should belong to.

◆ BlamWorldObject_Primitive() [2/2]

BlamWorldObject_Primitive::BlamWorldObject_Primitive ( BlamWorldObjectType  _type,
BlamWorldObject _parent 
)

◆ ~BlamWorldObject_Primitive()

BlamWorldObject_Primitive::~BlamWorldObject_Primitive ( )
+ Here is the call graph for this function:

Member Function Documentation

◆ CreateManualObject()

void BlamWorldObject_Primitive::CreateManualObject ( )
protectedvirtual

Reimplemented in BlamGizmoTriangle.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MarkForRebuild()

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

◆ Render()

void BlamWorldObject_Primitive::Render ( )
overridevirtual

Renders the object to the screen.

Reimplemented from BlamWorldObject.

Reimplemented in BlamWorldObject_PrimitiveLine, BlamWorldObject_PrimitiveCylinder, and BlamWorldObject_PrimitiveSphere.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetCustomDatabablock()

void BlamWorldObject_Primitive::SetCustomDatabablock ( Ogre::HlmsDatablock *  datablock,
bool  wireframe 
)
+ Here is the call graph for this function:

◆ SetDepthCheckEnabled()

void BlamWorldObject_Primitive::SetDepthCheckEnabled ( bool  enable)

◆ SetQueryMask()

void BlamWorldObject_Primitive::SetQueryMask ( uint32_t  mask)
+ Here is the caller graph for this function:

◆ ShowImGuiEditControls()

void BlamWorldObject_Primitive::ShowImGuiEditControls ( )
overridevirtual

Reimplemented from BlamWorldObject.

Reimplemented in BlamWorldObject_PrimitiveLine, BlamWorldObject_PrimitiveCylinder, and BlamWorldObject_PrimitiveSphere.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ cast_shadows

bool BlamWorldObject_Primitive::cast_shadows = true

◆ color

BlamColor BlamWorldObject_Primitive::color = BlamColor(255, 255, 255)

◆ color_wireframe

BlamColor BlamWorldObject_Primitive::color_wireframe = BlamColor(255, 255, 255)

◆ custom_datablock

bool BlamWorldObject_Primitive::custom_datablock = false
protected

◆ custom_wireframe_datablock

bool BlamWorldObject_Primitive::custom_wireframe_datablock = false
protected

◆ datablock

Ogre::HlmsDatablock* BlamWorldObject_Primitive::datablock = nullptr

◆ datablock_wireframe

Ogre::HlmsDatablock* BlamWorldObject_Primitive::datablock_wireframe = nullptr

◆ manual_object

Ogre::ManualObject* BlamWorldObject_Primitive::manual_object = nullptr

◆ render_mode

Blam3DPrimitiveRenderMode BlamWorldObject_Primitive::render_mode = Blam3DPrimitiveRenderMode::Solid

◆ show_backfaces

bool BlamWorldObject_Primitive::show_backfaces = false

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