PixelLightAPI
.
|
Abstract scene hierarchy node class. More...
#include <SceneHierarchyNode.h>
Public Member Functions | |
PLS_API SceneContext * | GetSceneContext () const |
Returns the scene context the scene hierarchy node is in. | |
PLS_API SceneHierarchy * | GetHierarchy () const |
Returns the owner scene hierarchy. | |
PLS_API SceneHierarchyNode * | GetParentNode () const |
Returns the parent scene hierarchy node. | |
PLS_API PLCore::uint32 | GetID () const |
Returns the unique ID of the scene hierarchy node. | |
PLS_API PLCore::uint8 | GetLevel () const |
Returns the level/tree depth of the scene hierarchy node. | |
PLS_API const PLMath::AABoundingBox & | GetAABoundingBox () const |
Returns the axis aligned bounding box of the scene hierarchy node. | |
PLS_API bool | CheckLine (const PLMath::Line &cLine) const |
Checks whether the scene hierarchy node volume is intersecting the given line. | |
PLS_API bool | CheckPlaneSet (const PLMath::PlaneSet &cPlaneSet, PLCore::uint32 *pnOutClipMask=nullptr) const |
Checks whether the scene hierarchy node volume is within the given plane set. | |
PLS_API char | GetPlaneSide (const PLMath::Plane &cPlane) const |
Returns the side of the plane the scene hierarchy node volume is on. | |
PLS_API float | GetShortestDistance (const PLMath::Vector3 &vPoint) const |
Returns the shortest distance from a given point to the scene hierarchy node volume. | |
PLS_API PLCore::uint32 | GetNumOfItems () const |
Returns the number of scene hierarchy node items. | |
PLS_API SceneHierarchyNodeItem * | GetFirstItem () const |
Returns the first scene hierarchy node item. | |
virtual void | Touch (bool bRecursive=false)=0 |
Touches the scene hierarchy scene node. | |
virtual PLCore::uint32 | GetNumOfNodes () const =0 |
Returns the number of child scene hierarchy nodes. | |
virtual SceneHierarchyNode * | GetNode (PLCore::uint32 nIndex) const =0 |
Returns a child scene hierarchy node. | |
Protected Member Functions | |
PLS_API | SceneHierarchyNode (SceneHierarchy &cHierarchy) |
Constructor. | |
virtual PLS_API | ~SceneHierarchyNode () |
Destructor. | |
PLS_API SceneHierarchyNode & | GetFreeNode () |
Returns a free scene hierarchy node. | |
PLS_API void | FreeNode (SceneHierarchyNode &cNode) |
Marks a scene hierarchy node as free. | |
virtual PLS_API void | Init () |
Initializes the scene hierarchy node variables. | |
Protected Attributes | |
SceneHierarchy * | m_pHierarchy |
SceneHierarchyNode * | m_pParentNode |
PLCore::uint32 | m_nID |
PLCore::uint8 | m_nLevel |
PLMath::AABoundingBox | m_cAABoundingBox |
PLCore::uint32 | m_nNumOfItems |
SceneHierarchyNodeItem * | m_pFirstItem |
Abstract scene hierarchy node class.
PLS_API PLScene::SceneHierarchyNode::SceneHierarchyNode | ( | SceneHierarchy & | cHierarchy | ) | [protected] |
Constructor.
[in] | cHierarchy | The owner hierarchy |
virtual PLS_API PLScene::SceneHierarchyNode::~SceneHierarchyNode | ( | ) | [protected, virtual] |
Destructor.
PLS_API SceneContext* PLScene::SceneHierarchyNode::GetSceneContext | ( | ) | const |
Returns the scene context the scene hierarchy node is in.
PLS_API SceneHierarchy* PLScene::SceneHierarchyNode::GetHierarchy | ( | ) | const |
Returns the owner scene hierarchy.
PLS_API SceneHierarchyNode* PLScene::SceneHierarchyNode::GetParentNode | ( | ) | const |
Returns the parent scene hierarchy node.
PLS_API PLCore::uint32 PLScene::SceneHierarchyNode::GetID | ( | ) | const |
Returns the unique ID of the scene hierarchy node.
PLS_API PLCore::uint8 PLScene::SceneHierarchyNode::GetLevel | ( | ) | const |
Returns the level/tree depth of the scene hierarchy node.
PLS_API const PLMath::AABoundingBox& PLScene::SceneHierarchyNode::GetAABoundingBox | ( | ) | const |
Returns the axis aligned bounding box of the scene hierarchy node.
PLS_API bool PLScene::SceneHierarchyNode::CheckLine | ( | const PLMath::Line & | cLine | ) | const |
Checks whether the scene hierarchy node volume is intersecting the given line.
[in] | cLine | Line to check against |
PLS_API bool PLScene::SceneHierarchyNode::CheckPlaneSet | ( | const PLMath::PlaneSet & | cPlaneSet, |
PLCore::uint32 * | pnOutClipMask = nullptr |
||
) | const |
Checks whether the scene hierarchy node volume is within the given plane set.
[in] | cPlaneSet | Plane set to check against |
[out] | pnOutClipMask | If not a null pointer, this clip mask will receive the intersection state of a maximum number of 32 planes if the box intersects the plane set. |
PLS_API char PLScene::SceneHierarchyNode::GetPlaneSide | ( | const PLMath::Plane & | cPlane | ) | const |
Returns the side of the plane the scene hierarchy node volume is on.
[in] | cPlane | Plane to check against |
PLS_API float PLScene::SceneHierarchyNode::GetShortestDistance | ( | const PLMath::Vector3 & | vPoint | ) | const |
Returns the shortest distance from a given point to the scene hierarchy node volume.
[in] | vPoint | Point to get the shortest distance from |
PLS_API PLCore::uint32 PLScene::SceneHierarchyNode::GetNumOfItems | ( | ) | const |
Returns the number of scene hierarchy node items.
PLS_API SceneHierarchyNodeItem* PLScene::SceneHierarchyNode::GetFirstItem | ( | ) | const |
Returns the first scene hierarchy node item.
virtual void PLScene::SceneHierarchyNode::Touch | ( | bool | bRecursive = false | ) | [pure virtual] |
Touches the scene hierarchy scene node.
[in] | bRecursive | Touch recursive? |
Implemented in PLScene::SHKdTreeNode, and PLScene::SHListNode.
virtual PLCore::uint32 PLScene::SceneHierarchyNode::GetNumOfNodes | ( | ) | const [pure virtual] |
Returns the number of child scene hierarchy nodes.
Implemented in PLScene::SHKdTreeNode, and PLScene::SHListNode.
virtual SceneHierarchyNode* PLScene::SceneHierarchyNode::GetNode | ( | PLCore::uint32 | nIndex | ) | const [pure virtual] |
Returns a child scene hierarchy node.
[in] | nIndex | Index of the requested child scene hierarchy node |
Implemented in PLScene::SHKdTreeNode, and PLScene::SHListNode.
PLS_API SceneHierarchyNode& PLScene::SceneHierarchyNode::GetFreeNode | ( | ) | [protected] |
Returns a free scene hierarchy node.
PLS_API void PLScene::SceneHierarchyNode::FreeNode | ( | SceneHierarchyNode & | cNode | ) | [protected] |
Marks a scene hierarchy node as free.
[in] | cNode | Scene hierarchy node to mark as free |
virtual PLS_API void PLScene::SceneHierarchyNode::Init | ( | ) | [protected, virtual] |
Initializes the scene hierarchy node variables.
SceneHierarchy* PLScene::SceneHierarchyNode::m_pHierarchy [protected] |
Owner hierarchy (always valid!)
Parent scene hierarchy node, can be a null pointer
PLCore::uint32 PLScene::SceneHierarchyNode::m_nID [protected] |
The unique ID of the scene hierarchy node
PLCore::uint8 PLScene::SceneHierarchyNode::m_nLevel [protected] |
Scene hierarchy node level
Axis aligned bounding box of this scene hierarchy node
PLCore::uint32 PLScene::SceneHierarchyNode::m_nNumOfItems [protected] |
The number of scene hierarchy node items attached to this scene hierarchy node
The first scene hierarchy node item, can be a null pointer
|