![]() |
Blamite Game Engine - blam!
00423.10.27.24.0533.blamite
The core library for the Blamite Game Engine.
|
Class representing a primitive-based world object. More...
#include <world_objects.h>
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) |
![]() | |
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 |
![]() | |
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... | |
BlamWorldState * | world = nullptr |
The world state this object belongs to. More... | |
BlamWorldObject * | parent = 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 |
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.
BlamWorldObject_Primitive::BlamWorldObject_Primitive | ( | BlamWorldObjectType | _type, |
BlamWorldState * | _world | ||
) |
Creates a new primitive world object.
_tag_data | - The tag data that this object should represent. |
_world | - The world state this object should belong to. |
BlamWorldObject_Primitive::BlamWorldObject_Primitive | ( | BlamWorldObjectType | _type, |
BlamWorldObject * | _parent | ||
) |
BlamWorldObject_Primitive::~BlamWorldObject_Primitive | ( | ) |
|
protectedvirtual |
Reimplemented in BlamGizmoTriangle.
void BlamWorldObject_Primitive::MarkForRebuild | ( | ) |
|
overridevirtual |
Renders the object to the screen.
Reimplemented from BlamWorldObject.
Reimplemented in BlamWorldObject_PrimitiveLine, BlamWorldObject_PrimitiveCylinder, and BlamWorldObject_PrimitiveSphere.
void BlamWorldObject_Primitive::SetCustomDatabablock | ( | Ogre::HlmsDatablock * | datablock, |
bool | wireframe | ||
) |
void BlamWorldObject_Primitive::SetDepthCheckEnabled | ( | bool | enable | ) |
void BlamWorldObject_Primitive::SetQueryMask | ( | uint32_t | mask | ) |
|
overridevirtual |
Reimplemented from BlamWorldObject.
Reimplemented in BlamWorldObject_PrimitiveLine, BlamWorldObject_PrimitiveCylinder, and BlamWorldObject_PrimitiveSphere.
bool BlamWorldObject_Primitive::cast_shadows = true |
BlamColor BlamWorldObject_Primitive::color = BlamColor(255, 255, 255) |
BlamColor BlamWorldObject_Primitive::color_wireframe = BlamColor(255, 255, 255) |
|
protected |
|
protected |
Ogre::HlmsDatablock* BlamWorldObject_Primitive::datablock = nullptr |
Ogre::HlmsDatablock* BlamWorldObject_Primitive::datablock_wireframe = nullptr |
Ogre::ManualObject* BlamWorldObject_Primitive::manual_object = nullptr |
Blam3DPrimitiveRenderMode BlamWorldObject_Primitive::render_mode = Blam3DPrimitiveRenderMode::Solid |
bool BlamWorldObject_Primitive::show_backfaces = false |