PixelLightAPI
.
|
Abstract scene node (leaf node) class. More...
#include <SceneNode.h>
Public Types | |
enum | EFlags { Inactive = 1<<0, Invisible = 1<<1, Frozen = 1<<2, NoPause = 1<<3, Automatic = 1<<4, NoCulling = 1<<5, NoLighting = 1<<6, CanOcclude = 1<<7, CastShadow = 1<<8, ReceiveShadow = 1<<9 } |
Scene node flags. More... | |
enum | EDrawFunctionFlags { UseDrawPre = 1<<0, UseDrawSolid = 1<<1, UseDrawTransparent = 1<<2, UseDrawDebug = 1<<3, UseDrawPost = 1<<4 } |
Draw function flags. More... | |
Public Member Functions | |
pl_enum (EFlags) pl_enum_value(Inactive | |
This scene node is currently NOT active | pl_enum_value (Invisible,"This scene node is currently NOT visible") pl_enum_value(Frozen |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated | pl_enum_value (NoPause,"Do NOT perform pause if the timer is paused. All scene nodes should perform a pause if the timer is paused! Exceptions for this should ONLY be special scene nodes like e.g. a camera node: If the camera node is set to not perform the pause, it can still be moved around while the game/simulation is paused)") pl_enum_value(Automatic |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor | pl_enum_value (NoCulling,"No visibility culling for this node, please (the container the node is in may still be culled...)") pl_enum_value(NoLighting |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this please | pl_enum_value (CanOcclude,"This scene node can occlude other scene nodes") pl_enum_value(CastShadow |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this please Shadow caster | pl_enum_value (ReceiveShadow,"Shadow receiver") pl_enum_endenum EDebugFlags |
Scene node debug flags. | |
pl_enum (EDebugFlags) pl_enum_value(DebugEnabled | |
Debug mode is | enabled (if this flag isn't set, no debug information is drawn at all)") pl_enum_value(DebugNoDrawSignal |
Debug mode is Do not create a draw debug signal | pl_enum_value (DebugContainerAABBox,"Draw (the white) container space axis aligned bounding box") pl_enum_value(DebugContainerSphere |
Debug mode is Do not create a draw debug signal Draw container space bounding sphere | pl_enum_value (DebugNoLocalCoordinateAxis,"Do not draw the local coordinate axis") pl_enum_value(DebugNoName |
Debug mode is Do not create a draw debug signal Draw container space bounding sphere Do not draw the name of the scene node | pl_enum_value (DebugNoAABBox,"Do not draw (the yellow) axis aligned bounding box") pl_enum_value(DebugText |
pl_class (PLS_RTTI_EXPORT, SceneNode,"PLScene", PLCore::Object,"Abstract scene node (leaf node) class") pl_properties pl_property("Icon" | |
Data Textures IconSceneNode dds pl_properties_end | pl_attribute (Flags, pl_flag_type(EFlags), 0, ReadWrite, GetSet,"Flags","") pl_attribute(DebugFlags |
Data Textures IconSceneNode dds pl_properties_end | pl_flag_type (EDebugFlags) |
Data Textures IconSceneNode dds pl_properties_end Debug | pl_attribute (Position, PLMath::Vector3, PLMath::Vector3(0.0f, 0.0f, 0.0f), ReadWrite, GetSet,"Position","") pl_attribute(Rotation |
Data Textures IconSceneNode dds pl_properties_end Debug | PLMath::Vector3 (0.0f, 0.0f, 0.0f) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before | pl_attribute (AABBMin, PLMath::Vector3, PLMath::Vector3(0.0f, 0.0f, 0.0f), ReadWrite, GetSet,"Minimum position of the 'scene node space' axis aligned bounding box","") pl_attribute(AABBMax |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before | PLMath::Vector3 (0.0f, 0.0f, 0.0f) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding | pl_attribute (Name, PLCore::String,"", ReadWrite, GetSet,"Optional scene node name. If not defined, a name is chosen automatically","") pl_signal_0(SignalDestroy |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction | pl_signal_0 (SignalActive,"Scene node active state change signal","") pl_signal_0(SignalVisible |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change | pl_signal_0 (SignalContainer,"Scene node parent container change signal","") pl_signal_0(SignalAABoundingBox |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change | pl_signal_0 (SignalInit,"Scene node initialization signal","") pl_signal_0(SignalDeInit |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change | pl_signal_1 (SignalAddedToVisibilityTree, VisNode &,"Scene node was added to a visibility tree signal. Visibility node representing this scene node within the visibility tree as parameter.","") pl_signal_2(SignalDrawPre |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene | node (can be a null pointer) as parameter." |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene | pl_signal_2 (SignalDrawSolid, PLRenderer::Renderer &, const VisNode *,"Scene node solid-draw signal. Used renderer and current visibility node of the scene node (can be a null pointer) as parameter.","") pl_signal_2(SignalDrawTransparent |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene | node (can be a null pointer) as parameter." |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene | pl_signal_2 (SignalDrawDebug, PLRenderer::Renderer &, const VisNode *,"Scene node debug-draw signal. Used renderer and current visibility node of the scene node (can be a null pointer) as parameter.","") pl_signal_2(SignalDrawPost |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node post draw signal Used renderer and current visibility node of the scene | node (can be a null pointer) as parameter." |
virtual PLS_API PLCore::uint32 | GetFlags () const |
virtual PLS_API void | SetFlags (PLCore::uint32 nValue) |
virtual PLS_API PLCore::uint32 | GetDebugFlags () const |
virtual PLS_API void | SetDebugFlags (PLCore::uint32 nValue) |
PLS_API const PLMath::Vector3 & | GetPosition () const |
PLS_API void | SetPosition (const PLMath::Vector3 &vValue) |
PLS_API PLMath::Vector3 | GetRotation () const |
PLS_API void | SetRotation (const PLMath::Vector3 &vValue) |
PLS_API const PLMath::Vector3 & | GetScale () const |
PLS_API void | SetScale (const PLMath::Vector3 &vValue) |
PLS_API const PLMath::Vector3 & | GetAABBMin () const |
PLS_API void | SetAABBMin (const PLMath::Vector3 &vValue) |
PLS_API const PLMath::Vector3 & | GetAABBMax () const |
PLS_API void | SetAABBMax (const PLMath::Vector3 &vValue) |
PLS_API SceneContext * | GetSceneContext () const |
Returns the scene context the scene node is in. | |
PLS_API SceneContainer * | GetContainer () const |
Returns the scene container the scene node is in. | |
PLS_API bool | SetContainer (SceneContainer &cSceneContainer) |
Sets the scene container the scene node is in. | |
PLS_API SceneContainer * | GetRootContainer () const |
Returns the scene root container. | |
PLS_API SceneContainer * | GetCommonContainer (SceneNode &cSceneNode) const |
Gets the common container of this and another scene node. | |
PLS_API SceneHierarchy * | GetHierarchy () const |
Returns the scene hierarchy this scene node is linked into. | |
PLS_API PLCore::String | GetAbsoluteName () const |
Returns the unique absolute name of the scene node. | |
PLS_API bool | IsInitialized () const |
Is the scene node initialized? | |
PLS_API bool | IsActive () const |
Returns whether the scene node is active or not. | |
PLS_API void | SetActive (bool bActive=true) |
Sets whether the scene node is active or not. | |
PLS_API bool | EvaluateGlobalActiveState () const |
Evaluates whether or not the scene node is active in respect of the complete scene graph. | |
PLS_API bool | IsVisible () const |
Returns whether the scene node is visible or not. | |
PLS_API void | SetVisible (bool bVisible=true) |
Sets whether the scene node is visible or not. | |
PLS_API bool | IsFrozen () const |
Returns whether the scene node is frozen or not. | |
PLS_API void | SetFrozen (bool bFrozen=true) |
Sets whether the scene node is frozen or not. | |
PLS_API PLCore::uint8 | GetDrawFunctionFlags () const |
Gets the scene node draw function flags. | |
PLS_API void | SetDrawFunctionFlags (PLCore::uint8 nFlags) |
Sets the scene node draw function flags. | |
const PLMath::Transform3 & | GetTransform () const |
Gets the node transform. | |
PLMath::Transform3 & | GetTransform () |
PLS_API void | MoveTo (const PLMath::Vector3 &vPosition) |
Moves the node to a new position. | |
PLS_API const PLMath::AABoundingBox & | GetAABoundingBox () |
Returns the axis align bounding box in 'scene node space'. | |
PLS_API void | SetAABoundingBox (const PLMath::AABoundingBox &cAABoundingBox) |
Sets the axis align bounding box in 'scene node space'. | |
PLS_API const PLMath::AABoundingBox & | GetContainerAABoundingBox () |
Returns the current axis align bounding box in 'scene container space'. | |
PLS_API const PLMath::Sphere & | GetBoundingSphere () |
Returns the bounding sphere in 'scene node space'. | |
PLS_API const PLMath::Sphere & | GetContainerBoundingSphere () |
Returns the current bounding sphere in 'scene container space'. | |
bool | IsContainer () const |
Returns whether this scene node is a scene container (SceneContainer) or not. | |
bool | IsCell () const |
Returns whether this scene node is a cell (SCCell) or not. | |
bool | IsPortal () const |
Returns whether this scene node is a portal (SNPortal) or not. | |
bool | IsCamera () const |
Returns whether this scene node is a camera (SNCamera) or not. | |
bool | IsLight () const |
Returns whether this scene node is a light (SNLight) or not. | |
bool | IsFog () const |
Returns whether this scene node is a fog (SNFog) or not. | |
PLS_API PLCore::uint32 | GetNumOfModifiers (const PLCore::String &sClass="") const |
Returns the number of modifiers. | |
PLS_API SceneNodeModifier * | AddModifier (const PLCore::String &sClass, const PLCore::String &sParameters="") |
Adds a modifier. | |
PLS_API SceneNodeModifier * | GetModifier (const PLCore::String &sClass, PLCore::uint32 nIndex=0) const |
Returns a modifier. | |
PLS_API bool | RemoveModifierByReference (SceneNodeModifier &cModifier) |
Removes a modifier by using a given reference to the modifier to remove. | |
PLS_API bool | RemoveModifier (const PLCore::String &sClass, PLCore::uint32 nIndex=0) |
Removes a modifier. | |
PLS_API void | ClearModifiers () |
Clears all modifiers. | |
virtual PLS_API PLMesh::MeshHandler * | GetMeshHandler () |
Returns a pointer to the mesh handler. | |
virtual PLS_API PLInput::Controller * | GetInputController () const |
Get input controller. | |
virtual PLS_API void | DrawPre (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) |
This function is called before any solid parts of the scene are drawn. | |
virtual PLS_API void | DrawSolid (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) |
This function is called when the solid parts of the scene are drawn. | |
virtual PLS_API void | DrawTransparent (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) |
This function is called when the transparent parts of the scene are drawn. | |
virtual PLS_API void | DrawDebug (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) |
This function is called when the debug parts of the scene are drawn. | |
virtual PLS_API void | DrawPost (PLRenderer::Renderer &cRenderer, const VisNode *pVisNode=nullptr) |
This function is called after transparent parts of the scene are drawn. | |
virtual PLS_API bool | Delete (bool bProtectedToo=false) override |
Destroys the element. | |
virtual PLS_API bool | SetName (const PLCore::String &sName) override |
Sets the element name. | |
Public Attributes | |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this | node |
Data Textures IconSceneNode dds pl_properties_end | ReadWrite |
Data Textures IconSceneNode dds pl_properties_end | GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug | flags |
Data Textures IconSceneNode dds pl_properties_end Debug | ReadWrite |
Data Textures IconSceneNode dds pl_properties_end Debug | GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in | degree |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in | Inc |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always | draw |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if | negative |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before | other |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before | ReadWrite |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before | GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding | box |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction | signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change | signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change | signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change | signal |
Protected Member Functions | |
PLS_API | SceneNode () |
Default constructor. | |
virtual PLS_API | ~SceneNode () |
Destructor. | |
PLS_API void | DirtyAABoundingBox () |
The current axis align bounding box is dirty and must be updated if used next time. | |
virtual PLS_API void | InitFunction () |
This function is called when the scene node gets initialized. | |
virtual PLS_API void | DeInitFunction () |
This function is called when the scene node gets de-initialized. | |
virtual PLS_API void | OnActivate (bool bActivate) |
Called when the scene node has been activated or deactivated. | |
virtual PLS_API void | UpdateAABoundingBox () |
Updates the axis align bounding box in 'scene node space'. | |
virtual PLS_API void | GetBoundingSphere (PLMath::Sphere &cSphere) |
Returns the bounding sphere in 'scene node space'. | |
virtual PLS_API void | GetContainerBoundingSphere (PLMath::Sphere &cSphere) |
Returns the current bounding sphere in 'scene container space'. | |
virtual PLS_API void | OnAddedToVisibilityTree (VisNode &cVisNode) |
Called when the scene node was added to a visibility tree. |
Abstract scene node (leaf node) class.
Scene node flags.
Reimplemented in PLScene::SceneContainer, PLScene::SNCamera, PLEngine::SNConsoleBase, PLEngine::SNLoadScreen, PLScene::SNSpotLight, PLSound::SNSound, PLScene::SNCellPortal, PLScene::SNBitmap, PLScene::SNBitmap2D, PLScene::SNMesh, PLScene::SNText3D, PLScene::SNProjectiveSpotLight, PLScene::SNLight, PLScene::SNText2D, PLScene::SNProjectivePointLight, PLScene::SNCoordinateAxis, PLScene::SNLine, PLScene::SNLineBox, PLScene::SNLineGrid, PLScene::SNPoint, and PLScene::SNText.
Draw function flags.
UseDrawPre |
Use DrawPre()-function |
UseDrawSolid |
Use DrawSolid()-function |
UseDrawTransparent |
Use DrawTransparent()-function |
UseDrawDebug |
Use DrawDebug()-function |
UseDrawPost |
Use DrawPost()-function |
PLS_API PLScene::SceneNode::SceneNode | ( | ) | [protected] |
Default constructor.
virtual PLS_API PLScene::SceneNode::~SceneNode | ( | ) | [protected, virtual] |
Destructor.
Reimplemented in PLScene::SNCamera, PLScene::SNMesh, and PLScene::SNSpotLight.
This scene node is currently NOT active PLScene::SceneNode::pl_enum_value | ( | Invisible | , |
"This scene node is currently NOT visible" | |||
) |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated PLScene::SceneNode::pl_enum_value | ( | NoPause | , |
"Do NOT perform pause if the timer is paused. All scene nodes should perform a pause if the timer is paused! Exceptions for this should ONLY be special scene nodes like e.g. a camera node: If the camera node is set to not perform the | pause, | ||
it can still be moved around while the game/simulation is | paused | ||
) |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor PLScene::SceneNode::pl_enum_value | ( | NoCulling | , |
"No visibility culling for this | node, | ||
please(the container the node is in may still be culled...)" | |||
) |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this please PLScene::SceneNode::pl_enum_value | ( | CanOcclude | , |
"This scene node can occlude other scene nodes" | |||
) |
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this please Shadow caster PLScene::SceneNode::pl_enum_value | ( | ReceiveShadow | , |
"Shadow receiver" | |||
) | [inline] |
Scene node debug flags.
< Debug mode is enabled (if this flag isn't set, no debug information is drawn at all)
< Do not create a draw debug signal
< Draw (the white) container space axis aligned bounding box
< Draw container space bounding sphere
< Do not draw the local coordinate axis
< Do not draw the name of the scene node
< Do not draw (the yellow) axis aligned bounding box
< Draw some basic debug text information
PLScene::SceneNode::pl_enum | ( | EDebugFlags | ) |
Debug mode is PLScene::SceneNode::enabled | ( | if this flag isn't | set, |
no debug information is drawn at | all | ||
) |
Debug mode is Do not create a draw debug signal PLScene::SceneNode::pl_enum_value | ( | DebugContainerAABBox | , |
"Draw (the white) container space axis aligned bounding box" | |||
) |
Debug mode is Do not create a draw debug signal Draw container space bounding sphere PLScene::SceneNode::pl_enum_value | ( | DebugNoLocalCoordinateAxis | , |
"Do not draw the local coordinate axis" | |||
) |
Debug mode is Do not create a draw debug signal Draw container space bounding sphere Do not draw the name of the scene node PLScene::SceneNode::pl_enum_value | ( | DebugNoAABBox | , |
"Do not draw (the yellow) axis aligned bounding box" | |||
) |
PLScene::SceneNode::pl_class | ( | PLS_RTTI_EXPORT | , |
SceneNode | , | ||
"PLScene" | , | ||
PLCore::Object | , | ||
"Abstract scene node (leaf node) class" | |||
) |
Data Textures IconSceneNode dds pl_properties_end PLScene::SceneNode::pl_attribute | ( | Flags | , |
pl_flag_type(EFlags) | , | ||
0 | , | ||
ReadWrite | , | ||
GetSet | , | ||
"Flags" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end PLScene::SceneNode::pl_flag_type | ( | EDebugFlags | ) |
Data Textures IconSceneNode dds pl_properties_end Debug PLScene::SceneNode::pl_attribute | ( | Position | , |
PLMath::Vector3 | , | ||
PLMath:: | Vector30.0f, 0.0f, 0.0f, | ||
ReadWrite | , | ||
GetSet | , | ||
"Position" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug PLScene::SceneNode::PLMath::Vector3 | ( | 0. | 0f, |
0. | 0f, | ||
0. | 0f | ||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before PLScene::SceneNode::pl_attribute | ( | AABBMin | , |
PLMath::Vector3 | , | ||
PLMath:: | Vector30.0f, 0.0f, 0.0f, | ||
ReadWrite | , | ||
GetSet | , | ||
"Minimum position of the 'scene node space' axis aligned bounding box" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before PLScene::SceneNode::PLMath::Vector3 | ( | 0. | 0f, |
0. | 0f, | ||
0. | 0f | ||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding PLScene::SceneNode::pl_attribute | ( | Name | , |
PLCore::String | , | ||
"" | , | ||
ReadWrite | , | ||
GetSet | , | ||
"Optional scene node name. If not | defined, | ||
a name is chosen automatically" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction PLScene::SceneNode::pl_signal_0 | ( | SignalActive | , |
"Scene node active state change signal" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change PLScene::SceneNode::pl_signal_0 | ( | SignalContainer | , |
"Scene node parent container change signal" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change PLScene::SceneNode::pl_signal_0 | ( | SignalInit | , |
"Scene node initialization signal" | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLScene::SceneNode::pl_signal_1 | ( | SignalAddedToVisibilityTree | , |
VisNode & | , | ||
"Scene node was added to a visibility tree signal. Visibility node representing this scene node within the visibility tree as parameter." | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLScene::SceneNode::node | ( | can be a null | pointer | ) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLScene::SceneNode::pl_signal_2 | ( | SignalDrawSolid | , |
PLRenderer::Renderer & | , | ||
const VisNode * | , | ||
"Scene node solid-draw signal. Used renderer and current visibility node of the scene node (can be a null pointer) as parameter." | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene PLScene::SceneNode::node | ( | can be a null | pointer | ) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene PLScene::SceneNode::pl_signal_2 | ( | SignalDrawDebug | , |
PLRenderer::Renderer & | , | ||
const VisNode * | , | ||
"Scene node debug-draw signal. Used renderer and current visibility node of the scene node (can be a null pointer) as parameter." | , | ||
"" | |||
) |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLRenderer::Renderer const VisNode Scene node pre draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node transparent draw signal Used renderer and current visibility node of the scene PLRenderer::Renderer const VisNode Scene node post draw signal Used renderer and current visibility node of the scene PLScene::SceneNode::node | ( | can be a null | pointer | ) |
virtual PLS_API PLCore::uint32 PLScene::SceneNode::GetFlags | ( | ) | const [virtual] |
virtual PLS_API void PLScene::SceneNode::SetFlags | ( | PLCore::uint32 | nValue | ) | [virtual] |
Reimplemented in PLScene::SNMesh, PLScene::SNCamera, PLSound::SNSound, and PLScene::SNText3D.
virtual PLS_API PLCore::uint32 PLScene::SceneNode::GetDebugFlags | ( | ) | const [virtual] |
virtual PLS_API void PLScene::SceneNode::SetDebugFlags | ( | PLCore::uint32 | nValue | ) | [virtual] |
PLS_API const PLMath::Vector3& PLScene::SceneNode::GetPosition | ( | ) | const |
PLS_API void PLScene::SceneNode::SetPosition | ( | const PLMath::Vector3 & | vValue | ) |
PLS_API PLMath::Vector3 PLScene::SceneNode::GetRotation | ( | ) | const |
PLS_API void PLScene::SceneNode::SetRotation | ( | const PLMath::Vector3 & | vValue | ) |
PLS_API const PLMath::Vector3& PLScene::SceneNode::GetScale | ( | ) | const |
PLS_API void PLScene::SceneNode::SetScale | ( | const PLMath::Vector3 & | vValue | ) |
PLS_API const PLMath::Vector3& PLScene::SceneNode::GetAABBMin | ( | ) | const |
PLS_API void PLScene::SceneNode::SetAABBMin | ( | const PLMath::Vector3 & | vValue | ) |
PLS_API const PLMath::Vector3& PLScene::SceneNode::GetAABBMax | ( | ) | const |
PLS_API void PLScene::SceneNode::SetAABBMax | ( | const PLMath::Vector3 & | vValue | ) |
PLS_API SceneContext* PLScene::SceneNode::GetSceneContext | ( | ) | const |
Returns the scene context the scene node is in.
PLS_API SceneContainer* PLScene::SceneNode::GetContainer | ( | ) | const |
Returns the scene container the scene node is in.
PLS_API bool PLScene::SceneNode::SetContainer | ( | SceneContainer & | cSceneContainer | ) |
Sets the scene container the scene node is in.
[in] | cSceneContainer | Scene container this node is in |
PLS_API SceneContainer* PLScene::SceneNode::GetRootContainer | ( | ) | const |
Returns the scene root container.
PLS_API SceneContainer* PLScene::SceneNode::GetCommonContainer | ( | SceneNode & | cSceneNode | ) | const |
Gets the common container of this and another scene node.
[in] | cSceneNode | The other scene node |
PLS_API SceneHierarchy* PLScene::SceneNode::GetHierarchy | ( | ) | const |
Returns the scene hierarchy this scene node is linked into.
PLS_API PLCore::String PLScene::SceneNode::GetAbsoluteName | ( | ) | const |
Returns the unique absolute name of the scene node.
PLS_API bool PLScene::SceneNode::IsInitialized | ( | ) | const |
Is the scene node initialized?
PLS_API bool PLScene::SceneNode::IsActive | ( | ) | const |
Returns whether the scene node is active or not.
PLS_API void PLScene::SceneNode::SetActive | ( | bool | bActive = true | ) |
Sets whether the scene node is active or not.
[in] | bActive | Should the scene node be active? |
PLS_API bool PLScene::SceneNode::EvaluateGlobalActiveState | ( | ) | const |
Evaluates whether or not the scene node is active in respect of the complete scene graph.
PLS_API bool PLScene::SceneNode::IsVisible | ( | ) | const |
Returns whether the scene node is visible or not.
PLS_API void PLScene::SceneNode::SetVisible | ( | bool | bVisible = true | ) |
Sets whether the scene node is visible or not.
[in] | bVisible | Should the scene node be visible? |
PLS_API bool PLScene::SceneNode::IsFrozen | ( | ) | const |
Returns whether the scene node is frozen or not.
PLS_API void PLScene::SceneNode::SetFrozen | ( | bool | bFrozen = true | ) |
Sets whether the scene node is frozen or not.
[in] | bFrozen | Should the scene node be frozen? |
PLS_API PLCore::uint8 PLScene::SceneNode::GetDrawFunctionFlags | ( | ) | const |
Gets the scene node draw function flags.
PLS_API void PLScene::SceneNode::SetDrawFunctionFlags | ( | PLCore::uint8 | nFlags | ) |
Sets the scene node draw function flags.
[in] | nFlags | New scene node draw function flags which should be set (see EDrawFunctionFlags) |
const PLMath::Transform3 & PLScene::SceneNode::GetTransform | ( | ) | const [inline] |
Gets the node transform.
PLMath::Transform3 & PLScene::SceneNode::GetTransform | ( | ) | [inline] |
PLS_API void PLScene::SceneNode::MoveTo | ( | const PLMath::Vector3 & | vPosition | ) |
Moves the node to a new position.
[in] | vPosition | New node position |
PLS_API const PLMath::AABoundingBox& PLScene::SceneNode::GetAABoundingBox | ( | ) |
Returns the axis align bounding box in 'scene node space'.
PLS_API void PLScene::SceneNode::SetAABoundingBox | ( | const PLMath::AABoundingBox & | cAABoundingBox | ) |
Sets the axis align bounding box in 'scene node space'.
[in] | cAABoundingBox | The axis align bounding box in 'scene node space' |
PLS_API const PLMath::AABoundingBox& PLScene::SceneNode::GetContainerAABoundingBox | ( | ) |
Returns the current axis align bounding box in 'scene container space'.
PLS_API const PLMath::Sphere& PLScene::SceneNode::GetBoundingSphere | ( | ) |
Returns the bounding sphere in 'scene node space'.
PLS_API const PLMath::Sphere& PLScene::SceneNode::GetContainerBoundingSphere | ( | ) |
Returns the current bounding sphere in 'scene container space'.
bool PLScene::SceneNode::IsContainer | ( | ) | const [inline] |
Returns whether this scene node is a scene container (SceneContainer) or not.
bool PLScene::SceneNode::IsCell | ( | ) | const [inline] |
Returns whether this scene node is a cell (SCCell) or not.
bool PLScene::SceneNode::IsPortal | ( | ) | const [inline] |
Returns whether this scene node is a portal (SNPortal) or not.
bool PLScene::SceneNode::IsCamera | ( | ) | const [inline] |
Returns whether this scene node is a camera (SNCamera) or not.
bool PLScene::SceneNode::IsLight | ( | ) | const [inline] |
Returns whether this scene node is a light (SNLight) or not.
bool PLScene::SceneNode::IsFog | ( | ) | const [inline] |
Returns whether this scene node is a fog (SNFog) or not.
PLS_API PLCore::uint32 PLScene::SceneNode::GetNumOfModifiers | ( | const PLCore::String & | sClass = "" | ) | const |
Returns the number of modifiers.
[in] | sClass | Modifier class name to return the number of instances from, if empty return the total number of modifiers |
PLS_API SceneNodeModifier* PLScene::SceneNode::AddModifier | ( | const PLCore::String & | sClass, |
const PLCore::String & | sParameters = "" |
||
) |
Adds a modifier.
[in] | sClass | Modifier class name of the modifier to add |
[in] | sParameters | Optional parameter string |
PLS_API SceneNodeModifier* PLScene::SceneNode::GetModifier | ( | const PLCore::String & | sClass, |
PLCore::uint32 | nIndex = 0 |
||
) | const |
Returns a modifier.
[in] | sClass | Modifier class name of the modifier to return |
[in] | nIndex | Modifier index, used if sClass is empty or if there are multiple instances of this modifier class |
PLS_API bool PLScene::SceneNode::RemoveModifierByReference | ( | SceneNodeModifier & | cModifier | ) |
Removes a modifier by using a given reference to the modifier to remove.
[in] | cModifier | Modifier to remove, after this method succeeded, the given reference is no longer valid |
PLS_API bool PLScene::SceneNode::RemoveModifier | ( | const PLCore::String & | sClass, |
PLCore::uint32 | nIndex = 0 |
||
) |
Removes a modifier.
[in] | sClass | Modifier class name of the modifier to remove |
[in] | nIndex | Modifier index, used if sClass is empty or if there are multiple instances of this modifier class |
PLS_API void PLScene::SceneNode::ClearModifiers | ( | ) |
Clears all modifiers.
virtual PLS_API PLMesh::MeshHandler* PLScene::SceneNode::GetMeshHandler | ( | ) | [virtual] |
Returns a pointer to the mesh handler.
Reimplemented in PLScene::SNMesh.
virtual PLS_API PLInput::Controller* PLScene::SceneNode::GetInputController | ( | ) | const [virtual] |
Get input controller.
virtual PLS_API void PLScene::SceneNode::DrawPre | ( | PLRenderer::Renderer & | cRenderer, |
const VisNode * | pVisNode = nullptr |
||
) | [virtual] |
This function is called before any solid parts of the scene are drawn.
[in] | cRenderer | The used renderer |
[in] | pVisNode | The current visibility node of this scene node, can be a null pointer |
Reimplemented in PLScene::SCRenderToTexture, and PLScene::SNBitmap2D.
virtual PLS_API void PLScene::SceneNode::DrawSolid | ( | PLRenderer::Renderer & | cRenderer, |
const VisNode * | pVisNode = nullptr |
||
) | [virtual] |
This function is called when the solid parts of the scene are drawn.
[in] | cRenderer | The used renderer |
[in] | pVisNode | The current visibility node of this scene node, can be a null pointer |
Reimplemented in PLScene::SNLineGrid, PLScene::SNLine, PLScene::SNLineBox, PLScene::SNBitmap3D, and PLScene::SNPoint.
virtual PLS_API void PLScene::SceneNode::DrawTransparent | ( | PLRenderer::Renderer & | cRenderer, |
const VisNode * | pVisNode = nullptr |
||
) | [virtual] |
This function is called when the transparent parts of the scene are drawn.
[in] | cRenderer | The used renderer |
[in] | pVisNode | The current visibility node of this scene node, can be a null pointer |
Reimplemented in PLScene::SNText3D, PLScene::SNLineGrid, PLScene::SNLine, PLScene::SNLineBox, PLScene::SNBitmap3D, and PLScene::SNPoint.
virtual PLS_API void PLScene::SceneNode::DrawDebug | ( | PLRenderer::Renderer & | cRenderer, |
const VisNode * | pVisNode = nullptr |
||
) | [virtual] |
This function is called when the debug parts of the scene are drawn.
[in] | cRenderer | The used renderer |
[in] | pVisNode | The current visibility node of this scene node, can be a null pointer |
Reimplemented in PLPhysics::SNRagdoll, PLScene::SNCamera, PLScene::SNMesh, PLScene::SNSpotLight, PLScene::SCRenderToTexture, PLScene::SNPortal, and PLScene::SNPointLight.
virtual PLS_API void PLScene::SceneNode::DrawPost | ( | PLRenderer::Renderer & | cRenderer, |
const VisNode * | pVisNode = nullptr |
||
) | [virtual] |
This function is called after transparent parts of the scene are drawn.
[in] | cRenderer | The used renderer |
[in] | pVisNode | The current visibility node of this scene node, can be a null pointer |
Reimplemented in PLEngine::SNLoadScreen, PLEngine::SNConsole, PLEngine::SNLoadScreenBase, PLScene::SNBitmap2D, PLEngine::SNLoadScreenPL, PLScene::SNText2D, PLScene::SNCoordinateAxis3D, and PLScene::SNCoordinateAxisRotation.
void PLScene::SceneNode::DirtyAABoundingBox | ( | ) | [inline, protected] |
The current axis align bounding box is dirty and must be updated if used next time.
virtual PLS_API void PLScene::SceneNode::InitFunction | ( | ) | [protected, virtual] |
This function is called when the scene node gets initialized.
Reimplemented in PLPhysics::SNRagdoll, PLScene::SceneContainer, PLScene::SCRenderToTexture, PLSound::SNSound, PLPhysics::SCPhysicsWorld, and PLScene::SNArea.
virtual PLS_API void PLScene::SceneNode::DeInitFunction | ( | ) | [protected, virtual] |
This function is called when the scene node gets de-initialized.
Reimplemented in PLPhysics::SNRagdoll, PLScene::SceneContainer, PLScene::SNMesh, and PLPhysics::SCPhysicsWorld.
virtual PLS_API void PLScene::SceneNode::OnActivate | ( | bool | bActivate | ) | [protected, virtual] |
Called when the scene node has been activated or deactivated.
[in] | bActivate | 'true' if the scene node is now active, else 'false' |
Reimplemented in PLPhysics::SNRagdoll, PLScene::SceneContainer, and PLPhysics::SCPhysicsWorld.
virtual PLS_API void PLScene::SceneNode::UpdateAABoundingBox | ( | ) | [protected, virtual] |
Updates the axis align bounding box in 'scene node space'.
Reimplemented in PLScene::SNCamera, PLScene::SNSpotLight, PLScene::SNPointLight, PLScene::SNLine, and PLScene::SNLineBox.
virtual PLS_API void PLScene::SceneNode::GetBoundingSphere | ( | PLMath::Sphere & | cSphere | ) | [protected, virtual] |
Returns the bounding sphere in 'scene node space'.
[out] | cSphere | Receives the bounding sphere in 'scene node space' |
Reimplemented in PLScene::SNSpotLight, and PLScene::SNPointLight.
virtual PLS_API void PLScene::SceneNode::GetContainerBoundingSphere | ( | PLMath::Sphere & | cSphere | ) | [protected, virtual] |
Returns the current bounding sphere in 'scene container space'.
[out] | cSphere | Receives the current bounding in 'scene container space' |
Reimplemented in PLScene::SNSpotLight, and PLScene::SNPointLight.
virtual PLS_API void PLScene::SceneNode::OnAddedToVisibilityTree | ( | VisNode & | cVisNode | ) | [protected, virtual] |
Called when the scene node was added to a visibility tree.
[in] | cVisNode | Visibility node which is representing this scene node within the visibility tree |
virtual PLS_API bool PLScene::SceneNode::Delete | ( | bool | bProtectedToo = false | ) | [override, virtual] |
Destroys the element.
[in] | bProtectedToo | Do also destroy the element if it is protected? |
Reimplemented from PLCore::Element< SceneNode >.
virtual PLS_API bool PLScene::SceneNode::SetName | ( | const PLCore::String & | sName | ) | [override, virtual] |
Sets the element name.
[in] | sName | New element name |
Reimplemented from PLCore::Element< SceneNode >.
This scene node is currently NOT active This scene node is currently frozen and therefore not updated This scene node was created automatically during runtime and should not be saved with the scene Such scene nodes are also hidden for instance within the scene editor No lighting for this PLScene::SceneNode::node |
Data Textures IconSceneNode dds pl_properties_end PLScene::SceneNode::ReadWrite |
Data Textures IconSceneNode dds pl_properties_end PLScene::SceneNode::GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug PLScene::SceneNode::flags |
Reimplemented in PLScene::SCRenderToTexture, and PLEngine::SNLoadScreenPL.
Data Textures IconSceneNode dds pl_properties_end Debug PLScene::SceneNode::ReadWrite |
Data Textures IconSceneNode dds pl_properties_end Debug PLScene::SceneNode::GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in PLScene::SceneNode::degree |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in PLScene::SceneNode::Inc |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always PLScene::SceneNode::draw |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if PLScene::SceneNode::negative |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before PLScene::SceneNode::other |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before PLScene::SceneNode::ReadWrite |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before PLScene::SceneNode::GetSet |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding PLScene::SceneNode::box |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction PLScene::SceneNode::signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change PLScene::SceneNode::signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change PLScene::SceneNode::signal |
Data Textures IconSceneNode dds pl_properties_end Debug Rotation as Euler angles in if do always if do always draw this node before Maximum position of the scene node space axis aligned bounding Scene node destruction Scene node visible state change Scene node axis aligned bounding box change Scene node de initialization change PLScene::SceneNode::signal |
|