Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
|
A scene node displaying a static mesh. More...
#include <nirtcpp/core/engine/IOctreeSceneNode.hpp>
Public Member Functions | |
IOctreeSceneNode (ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1, 1, 1)) | |
Constructor. | |
virtual EOCTREENODE_VBO | getUseVBO () const =0 |
Get if/how vertex buffer object are used for the meshbuffers. | |
virtual void | setPolygonChecks (EOCTREE_POLYGON_CHECKS checks)=0 |
Set the kind of tests polygons do for visibility against the camera. | |
virtual EOCTREE_POLYGON_CHECKS | getPolygonChecks () const =0 |
Get the kind of tests polygons do for visibility against the camera. | |
Public Member Functions inherited from nirt::scene::IMeshSceneNode | |
IMeshSceneNode (ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1, 1, 1)) | |
Constructor. | |
virtual void | setMesh (IMesh *mesh)=0 |
Sets a new mesh to display. | |
virtual IMesh * | getMesh (void)=0 |
Get the currently defined mesh for display. | |
virtual IShadowVolumeSceneNode * | addShadowVolumeSceneNode (const IMesh *shadowMesh=0, s32 id=-1, bool zfailmethod=true, f32 infinity=1000.0f)=0 |
virtual void | setReadOnlyMaterials (bool readonly)=0 |
Sets if the scene node should not copy the materials of the mesh but use them in a read only style. | |
virtual bool | isReadOnlyMaterials () const =0 |
Check if the scene node should not copy the materials of the mesh but use them in a read only style. | |
Public Member Functions inherited from nirt::scene::ISceneNode | |
ISceneNode (ISceneNode *parent, ISceneManager *mgr, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f)) | |
Constructor. | |
virtual | ~ISceneNode () |
Destructor. | |
virtual void | OnRegisterSceneNode () |
This method is called just before the rendering process of the whole scene. | |
virtual void | OnAnimate (u32 timeMs) |
OnAnimate() is called just before rendering the whole scene. | |
virtual void | render ()=0 |
Renders the node. | |
virtual const c8 * | getName () const |
Returns the name of the node. | |
virtual void | setName (const c8 *name) |
Sets the name of the node. | |
virtual void | setName (const core::stringc &name) |
Sets the name of the node. | |
virtual const core::aabbox3d< f32 > & | getBoundingBox () const =0 |
Get the axis aligned, not transformed bounding box of this node. | |
virtual const core::aabbox3d< f32 > | getTransformedBoundingBox () const |
Get the axis aligned, transformed and animated absolute bounding box of this node. | |
virtual void | getTransformedBoundingBoxEdges (core::array< core::vector3d< f32 > > &edges) const |
virtual const core::matrix4 & | getAbsoluteTransformation () const |
Get the absolute transformation of the node. Is recalculated every OnAnimate()-call. | |
virtual core::matrix4 | getRelativeTransformation () const |
Returns the relative transformation of the scene node. | |
virtual bool | isVisible () const |
Returns whether the node should be visible (if all of its parents are visible). | |
virtual bool | isTrulyVisible () const |
Check whether the node is truly visible, taking into accounts its parents' visibility. | |
virtual void | setVisible (bool isVisible) |
Sets if the node should be visible or not. | |
virtual s32 | getID () const |
Get the id of the scene node. | |
virtual void | setID (s32 id) |
Sets the id of the scene node. | |
virtual void | addChild (ISceneNode *child) |
Adds a child to this scene node. | |
virtual bool | removeChild (ISceneNode *child) |
Removes a child from this scene node. | |
virtual void | removeAll () |
Removes all children of this scene node. | |
virtual void | remove () |
Removes this scene node from the scene. | |
virtual void | addAnimator (ISceneNodeAnimator *animator) |
Adds an animator which should animate this node. | |
const core::list< ISceneNodeAnimator * > & | getAnimators () const |
Get a list of all scene node animators. | |
virtual void | removeAnimator (ISceneNodeAnimator *animator) |
Removes an animator from this scene node. | |
virtual void | removeAnimators () |
Removes all animators from this scene node. | |
virtual video::SMaterial & | getMaterial (u32 num) |
Returns the material based on the zero based index i. | |
virtual u32 | getMaterialCount () const |
Get amount of materials used by this scene node. | |
void | setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue) |
Sets all material flags at once to a new value. | |
void | setMaterialTexture (u32 textureLayer, video::ITexture *texture) |
Sets the texture of the specified layer in all materials of this scene node to the new texture. | |
void | setMaterialType (video::E_MATERIAL_TYPE newType) |
Sets the material type of all materials in this scene node to a new material type. | |
virtual const core::vector3df & | getScale () const |
Gets the scale of the scene node relative to its parent. | |
virtual void | setScale (const core::vector3df &scale) |
Sets the relative scale of the scene node. | |
virtual const core::vector3df & | getRotation () const |
Gets the rotation of the node relative to its parent. | |
virtual void | setRotation (const core::vector3df &rotation) |
Sets the rotation of the node relative to its parent. | |
virtual const core::vector3df & | getPosition () const |
Gets the position of the node relative to its parent. | |
virtual void | setPosition (const core::vector3df &newpos) |
Sets the position of the node relative to its parent. | |
virtual core::vector3df | getAbsolutePosition () const |
Gets the absolute position of the node in world coordinates. | |
void | setAutomaticCulling (u32 state) |
Set a culling style or disable culling completely. | |
u32 | getAutomaticCulling () const |
Gets the automatic culling state. | |
void | setUpdateAbsolutePosBehavior (ESCENE_NODE_UPDATE_ABS behavior) |
Set how updateAbsolutePosition calculates the absolute transformation matrix. | |
ESCENE_NODE_UPDATE_ABS | getUpdateAbsolutePosBehavior () const |
Get how updateAbsolutePosition calculates the absolute transformation matrix. | |
virtual void | setDebugDataVisible (u32 state) |
Sets if debug data like bounding boxes should be drawn. | |
u32 | isDebugDataVisible () const |
Returns if debug data like bounding boxes are drawn. | |
void | setIsDebugObject (bool debugObject) |
Sets if this scene node is a debug object. | |
bool | isDebugObject () const |
Returns if this scene node is a debug object. | |
const core::list< ISceneNode * > & | getChildren () const |
Returns a const reference to the list of all children. | |
virtual void | setParent (ISceneNode *newParent) |
Changes the parent of the scene node. | |
virtual ITriangleSelector * | getTriangleSelector () const |
Returns the triangle selector attached to this scene node. | |
virtual void | setTriangleSelector (ITriangleSelector *selector) |
Sets the triangle selector of the scene node. | |
virtual void | updateAbsolutePosition () |
Updates the absolute tranformation or position based on the relative and the parents transformation. | |
scene::ISceneNode * | getParent () const |
Returns the parent of this scene node. | |
virtual ESCENE_NODE_TYPE | getType () const |
Returns type of the scene node. | |
virtual void | serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const override |
Writes attributes of the scene node. | |
virtual void | deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0) override |
Reads attributes of the scene node. | |
virtual ISceneNode * | clone (ISceneNode *newParent=0, ISceneManager *newManager=0) |
Creates a clone of this scene node and its children. | |
virtual ISceneManager * | getSceneManager (void) const |
Retrieve the scene manager for this node. | |
Public Member Functions inherited from nirt::IReferenceCounted | |
IReferenceCounted () | |
Constructor. | |
virtual | ~IReferenceCounted () |
Destructor. | |
void | grab () const |
Grabs the object. Increments the reference counter by one. | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. | |
s32 | getReferenceCount () const |
Get the reference count. | |
const c8 * | getDebugName () const |
Returns the debug name of the object. | |
Additional Inherited Members | |
Protected Member Functions inherited from nirt::scene::ISceneNode | |
void | cloneMembers (ISceneNode *toCopyFrom, ISceneManager *newManager) |
A clone function for the ISceneNode members. | |
void | setSceneManager (ISceneManager *newManager) |
Protected Member Functions inherited from nirt::IReferenceCounted | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. | |
Protected Attributes inherited from nirt::scene::ISceneNode | |
core::stringc | Name |
Name of the scene node. | |
core::matrix4 | AbsoluteTransformation |
Absolute transformation of the node. | |
core::vector3df | RelativeTranslation |
Relative translation of the scene node. | |
core::vector3df | RelativeRotation |
Relative rotation of the scene node. | |
core::vector3df | RelativeScale |
Relative scale of the scene node. | |
ISceneNode * | Parent |
Pointer to the parent. | |
core::list< ISceneNode * > | Children |
List of all children of this node. | |
core::list< ISceneNodeAnimator * > | Animators |
List of all animator nodes. | |
ISceneManager * | SceneManager |
Pointer to the scene manager. | |
ITriangleSelector * | TriangleSelector |
Pointer to the triangle selector. | |
s32 | ID |
ID of the node. | |
ESCENE_NODE_UPDATE_ABS | UpdateAbsolutePosBehavior |
How updateAbsolutePosition calculates AbsoluteTransformation. | |
u32 | AutomaticCullingState |
Automatic culling state. | |
u32 | DebugDataVisible |
Flag if debug data should be drawn, such as Bounding Boxes. | |
bool | IsVisible |
Is the node visible? | |
bool | IsDebugObject |
Is debug object? | |
A scene node displaying a static mesh.
|
inline |
Constructor.
Use setMesh() to set the mesh to display.