Simplygon C++ API  8.3.35800.0
SimplygonSDK::ISceneNode Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::ISceneNode:
SimplygonSDK::IObject SimplygonSDK::ISceneBone SimplygonSDK::ISceneCamera SimplygonSDK::ISceneLodGroup SimplygonSDK::ISceneMesh SimplygonSDK::IScenePlane

Public Member Functions

virtual void AddChild (ISceneNode *child)=0
 
virtual bool CalculateExtents ()=0
 
virtual CountedPointer< ISceneMeshCreateChildMesh (IGeometryData *geom)=0
 
virtual CountedPointer< IScenePlaneCreateChildPlane (const real *position_realInputDataPtr, const real *normal_realInputDataPtr)=0
 
virtual void EvaluateDefaultGlobalTransformation (IMatrix4x4 *global_transform)=0
 
virtual CountedPointer< ISceneNodeFindNamedChild (const char *name)=0
 
virtual CountedPointer< ISceneNodeGetChild (rid index)=0
 
virtual unsigned int GetChildCount ()=0
 
virtual const char * GetClass ()
 
virtual void GetInf (real *realReturnDataPtr)=0
 
virtual bool GetIsFrozen ()=0
 
virtual bool GetIsModified ()=0
 
virtual bool GetIsVisible ()=0
 
virtual rstring GetNodeGUID ()=0
 
virtual rstring GetOriginalName ()=0
 
virtual CountedPointer< ISceneNodeGetParent ()=0
 
virtual rstring GetPath ()=0
 
virtual CountedPointer< IMatrix4x4GetRelativeTransform ()=0
 
virtual CountedPointer< ISceneGetScene ()=0
 
virtual void GetSup (real *realReturnDataPtr)=0
 
virtual bool HasChild (ISceneNode *child)=0
 
virtual bool IsA (const char *type) const
 
virtual CountedPointer< ISceneNodeNewClone ()=0
 
virtual CountedPointer< ISceneNodeNewCopy ()=0
 
virtual void RemoveChild (ISceneNode *child)=0
 
virtual void RemoveChildren ()=0
 
virtual void RemoveFromParent ()=0
 
virtual void SetIsFrozen (bool value)=0
 
virtual void SetIsModified (bool value)=0
 
virtual void SetIsVisible (bool value)=0
 
virtual void SetNodeGUID (const char *value)=0
 
virtual void SetOriginalName (const char *value)=0
 
- Public Member Functions inherited from SimplygonSDK::IObject
virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static ISceneNodeSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

ISceneNode is the base class for all scene graph nodes in simplygon. It has relative transformation to its parent, and functions to add children to the node.

Definition at line 14324 of file SimplygonSDK.h.

Member Function Documentation

◆ AddChild()

virtual void SimplygonSDK::ISceneNode::AddChild ( ISceneNode child)
pure virtual

Adds a child node to this node. If the child is already a child of another node, it is removed from this node

Parameters
childthe child object.

◆ CalculateExtents()

virtual bool SimplygonSDK::ISceneNode::CalculateExtents ( )
pure virtual

Calculates the axis-aligned bounding box of the node and all its children. If the node tree contains no geometric data, or all data is hidden, the bounding box is not calcluated, and the method returns false.

Returns
true if the calculation succeeded

◆ CreateChildMesh()

virtual CountedPointer<ISceneMesh> SimplygonSDK::ISceneNode::CreateChildMesh ( IGeometryData geom)
pure virtual

Creates a SceneMesh node as a child node to this node.

Parameters
geomis the GeometryData object to associate with this node

◆ CreateChildPlane()

virtual CountedPointer<IScenePlane> SimplygonSDK::ISceneNode::CreateChildPlane ( const real position_realInputDataPtr,
const real normal_realInputDataPtr 
)
pure virtual

Creates a ScenePlane node as a child node to this node.

Parameters
position_realInputDataPtris the point on the plane
normal_realInputDataPtris the normal to the plane

◆ EvaluateDefaultGlobalTransformation()

virtual void SimplygonSDK::ISceneNode::EvaluateDefaultGlobalTransformation ( IMatrix4x4 global_transform)
pure virtual

Evaluates the default global transformation of the node, regardless of node animation.

Parameters
global_transformthe transformation matrix that receives the global transformation

◆ FindNamedChild()

virtual CountedPointer<ISceneNode> SimplygonSDK::ISceneNode::FindNamedChild ( const char *  name)
pure virtual

Finds the first child that has the name

Parameters
namethe name of the child to look for

◆ GetChild()

virtual CountedPointer<ISceneNode> SimplygonSDK::ISceneNode::GetChild ( rid  index)
pure virtual

Get a pointer to the i:th child of this node

Parameters
indexthe local index of the child (0->GetChildCount()-1)

◆ GetChildCount()

virtual unsigned int SimplygonSDK::ISceneNode::GetChildCount ( )
pure virtual

Get the number of direct children of this node

Returns
the number of direct children of this node

◆ GetClass()

virtual const char* SimplygonSDK::ISceneNode::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented from SimplygonSDK::IObject.

Reimplemented in SimplygonSDK::ISceneCamera, SimplygonSDK::IScenePlane, SimplygonSDK::ISceneBone, SimplygonSDK::ISceneLodGroup, and SimplygonSDK::ISceneMesh.

◆ GetInf()

virtual void SimplygonSDK::ISceneNode::GetInf ( real realReturnDataPtr)
pure virtual

Get the inferior (minimum) extent of the node

Parameters
realReturnDataPtrpointer to a user-provided data area to receive the return value. Note! Needs to be at least 3 elements in size

◆ GetIsFrozen()

virtual bool SimplygonSDK::ISceneNode::GetIsFrozen ( )
pure virtual

Get the IsFrozen flag. If set, the node will not be modified by processing modules.

Returns
the value of the isFrozen bool

◆ GetIsModified()

virtual bool SimplygonSDK::ISceneNode::GetIsModified ( )
pure virtual

Get the IsModified flag. If set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph.

Returns
the value of the IsModified bool

◆ GetIsVisible()

virtual bool SimplygonSDK::ISceneNode::GetIsVisible ( )
pure virtual

Get the IsVisible flag. If set, the node is visible.

Returns
the value of the isVisible bool

◆ GetNodeGUID()

virtual rstring SimplygonSDK::ISceneNode::GetNodeGUID ( )
pure virtual

Gets the unique id for this node.

Returns
the GUID for this node

◆ GetOriginalName()

virtual rstring SimplygonSDK::ISceneNode::GetOriginalName ( )
pure virtual

Get the OriginalName parameter which can be used to specify the original name of a node, for debugging of merging purposes. This parameter is not copied or cloned, and is not used internally by Simplygon.

Returns
the value of the OriginalName string

◆ GetParent()

virtual CountedPointer<ISceneNode> SimplygonSDK::ISceneNode::GetParent ( )
pure virtual

Get the parent node of this node

Returns
the parent node

◆ GetPath()

virtual rstring SimplygonSDK::ISceneNode::GetPath ( )
pure virtual

Get the path to this node in the scene. Please note that only paths where each node has a name can be used to get to the node using the path.

Returns
the path to this node in the scene

◆ GetRelativeTransform()

virtual CountedPointer<IMatrix4x4> SimplygonSDK::ISceneNode::GetRelativeTransform ( )
pure virtual

Get the relative transformation of this node

Returns
the relative transformation as a 4x4 matrix

◆ GetScene()

virtual CountedPointer<IScene> SimplygonSDK::ISceneNode::GetScene ( )
pure virtual

Get the scene object of the node

Returns
the scene object

◆ GetSup()

virtual void SimplygonSDK::ISceneNode::GetSup ( real realReturnDataPtr)
pure virtual

Get the superior (maximum) extent of the node

Parameters
realReturnDataPtrpointer to a user-provided data area to receive the return value. Note! Needs to be at least 3 elements in size

◆ HasChild()

virtual bool SimplygonSDK::ISceneNode::HasChild ( ISceneNode child)
pure virtual

Returns true if the node has the specified child

Parameters
childthe child node to look for
Returns
true if child exists in the scene, otherwise false

◆ IsA()

virtual bool SimplygonSDK::ISceneNode::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented from SimplygonSDK::IObject.

Reimplemented in SimplygonSDK::ISceneCamera, SimplygonSDK::IScenePlane, SimplygonSDK::ISceneBone, SimplygonSDK::ISceneLodGroup, and SimplygonSDK::ISceneMesh.

◆ IsClassA()

static bool SimplygonSDK::ISceneNode::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if ISceneNode is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 14345 of file SimplygonSDK.h.

◆ NewClone()

virtual CountedPointer<ISceneNode> SimplygonSDK::ISceneNode::NewClone ( )
pure virtual

Clones this node tree (this node and all the descendants of this node) and returns the cloned top node. Please note that the copy is not added to any scene, and can be added anywhere. Also note that the clone shares all data pointers with the original nodes, such as geometry data objects.

Returns
a new clone of the ISceneNode

◆ NewCopy()

virtual CountedPointer<ISceneNode> SimplygonSDK::ISceneNode::NewCopy ( )
pure virtual

Deep copies this node tree (this node and all the descendants of this node) and returns the copy top node. Please note that the copy is not added to any scene, and can be added anywhere.

Returns
a new copy of the ISceneNode

◆ RemoveChild()

virtual void SimplygonSDK::ISceneNode::RemoveChild ( ISceneNode child)
pure virtual

Removes a child from the node.

Parameters
childthe child to be removed

◆ RemoveChildren()

virtual void SimplygonSDK::ISceneNode::RemoveChildren ( )
pure virtual

Removes all children of this node

◆ RemoveFromParent()

virtual void SimplygonSDK::ISceneNode::RemoveFromParent ( )
pure virtual

Removes this node from its parent.

◆ SafeCast()

static ISceneNode* SimplygonSDK::ISceneNode::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into a ISceneNode pointer, and if this is possible, returns the cast pointer.

Parameters
ptris the pointer to be cast into a ISceneNode pointer
Returns
a pointer to the ISceneNode object, if the cast can be made, and a NULL pointer otherwise

Definition at line 14358 of file SimplygonSDK.h.

◆ SetIsFrozen()

virtual void SimplygonSDK::ISceneNode::SetIsFrozen ( bool  value)
pure virtual

Set the IsFrozen flag. If set, the node will not be modified by processing modules.

Parameters
valueis the bool that isFrozen is to be set to

◆ SetIsModified()

virtual void SimplygonSDK::ISceneNode::SetIsModified ( bool  value)
pure virtual

Set the IsModified flag. If set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph.

Parameters
valueis the bool that IsModified is to be set to

◆ SetIsVisible()

virtual void SimplygonSDK::ISceneNode::SetIsVisible ( bool  value)
pure virtual

Get the IsVisible flag. If set, the node is visible.

Parameters
valueis the bool that isVisible is to be set to

◆ SetNodeGUID()

virtual void SimplygonSDK::ISceneNode::SetNodeGUID ( const char *  value)
pure virtual

Sets the unique id for this node.

Parameters
valueis the node id of type string

◆ SetOriginalName()

virtual void SimplygonSDK::ISceneNode::SetOriginalName ( const char *  value)
pure virtual

Set the OriginalName parameter which can be used to specify the original name of a node, for debugging of merging purposes. This parameter is not copied or cloned, and is not used internally by Simplygon.

Parameters
valueis a string the name is to be set to

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