class
Scene
Scene is the main keeper of a scene and scene graph in simplygon. The scene is self-contained, with materials, textures, etc. to describe a full scene.
Methods
Method | Description |
AddCustomField | Adds a custom data field. To be able to add a field, it must have a name that does not conflict with the existing custom fields. |
Append | Appends another scene to this scene. All materials, textures etc. |
CalculateExtents | Calculates the axis-aligned bounding box of the whole scene. If the node tree contains no geometric data, or all data is hidden, the bounding box is not calculated, and the method returns false. |
Clear | Clears the whole scene and releases all items in the graph. |
Compact | Will remove mesh nodes that consist of empty geometry. The node transformation will be added to all child transformations. If the root node is a sceneMesh with empty geometry, it will be replaced with a generic sceneNode having the same transformation. |
CreateAABB | Returns a scene containing the axis aligned bounding boxes of either the entire scene or per mesh in the scene. |
DeepCopy | Deep copies the source scene, and all things assigned to it, including all nodes, geometry data, materials and tables. |
EvaluateDefaultGlobalTransformation | Evaluates the global transformation of the specified node at a specific time. EvaluateDefaultGlobalTransformation is used to evaluate the default transformation, regardless of node animation. |
GetBoneTable | The bone table of the scene. |
GetCascadedSceneCount | Get the number of cascaded child scenes. |
GetCascadedSceneForIndex | Get the scene for the given cascaded child scene index, which must be less than the number of cascaded child scenes. |
GetClass | Get the name of the Scene class. |
GetCustomField | Adds/Removes/Gets a custom data field. |
GetInf | The inferior (minimum) extent of the scene. |
GetMappingImage | The MappingImage object for the scene. |
GetMaterialChannels | Get all unique material channel names for all materials used in scene. |
GetMaterialChannelsWithTextureInputs | Get all unique material channel names having texture inputs for all materials used in scene. |
GetMaterialTable | The material table of the scene. |
GetNodeByGUID | Gets a node defined by an id. |
GetNodeFromPath | Gets a node defined by a path. Please note that the path must contain names for each level to be able to find the specified node. |
GetRadius | The scene radius. Include SceneMesh, SceneNode, SceneCamera and excludes ScenePoint, ScenePlane, SceneLodGroup. When using GetRadius in LOD transition calculations set global setting IgnoreCameraInExtentsCalculation to true. As processors use bounds of the geometry rather than the scene. |
GetRootNode | The root node of the scene. |
GetSelectionSetTable | The selection set table of the scene. |
GetSubNodeByGUID | Gets a node defined by an id from the specified node tree. |
GetSup | The superior (maximum) extent of the scene. |
GetTextureTable | The texture table of the scene. |
GetTriangleCount | Traverses the scene meshes in the scene and returns the total triangle count. |
HasCustomField | Checks if a custom field is present in the scene. |
IsA | Returns true if Scene is a or is a descendant of the class named as the type parameter. |
IsNull | Returns true if the Scene object is invalid. |
LoadFromFile | Loads a scene from file. |
NewCombinedGeometry | Combines all the geometries from the scene and returns a copy. |
NewCombinedGeometryFromSelectionSet | Combines all the geometries from the selection set and returns a copy. If the selection set ID is -1, then all the geometries will be copied. |
NewCopy | Creates a new deep copy of the scene, and all things assigned to it, including all nodes, geometry data, materials and tables. |
RemoveCustomField | Removes a custom data field. |
RemoveSceneNodes | Removes all scene nodes. |
RemoveSceneNodesInSelectionSet | Removes all scene nodes listed in a selection set. |
RemoveSceneNodesOfType | Removes all scene nodes of a specific type. |
RemoveUnlinkedBones | Removes all bones in the scene that are not linked by any SceneMesh geometry data. Note that the removal only removes leaf nodes in the scene. |
SaveToFile | Saves a scene to file. |
SelectNodes | Selects all nodes of the type specified in the parameter and returns the selection set ID. If no types were found, it returns -1. |
StandardizeMaterials | Clears all previous data in both the material and texture tables and creates new, empty materials for every material id referenced by the MaterialIds field in the scenes geometrydata objects. Useful for cleaning up scenes containing invalid material references and making them exportable when you are primarily interested in the geometry and not the materials. |
Static methods
Method | Description |
IsClassA | Returns true if the class is a or is a descendant of the class named as the type parameter. |
SafeCast | SafeCast makes sure the input object is of a class that can be cast into spScene, and if this is the case, returns the object cast into spScene. |
Methods details
AddCustomField
Adds a custom data field. To be able to add a field, it must have a name that does not conflict with the existing custom fields.
Syntax
Parameters
Type | Name | Min | Max | Description |
EBaseTypes | base_type | | | The is the type of the field to be added. |
const char * | name | | | The name of the new field. |
unsigned int | tuple_size | | | The tuple size of the new field. |
Return value
Type: ValueArray
Syntax
Parameters
Type | Name | Min | Max | Description |
EBaseTypes | base_type | | | The is the type of the field to be added. |
string | name | | | The name of the new field. |
uint | tuple_size | | | The tuple size of the new field. |
Return value
Type: ValueArray
Syntax
Parameters
Name | Type | Min | Max | Description |
base_type | EBaseTypes | | | The is the type of the field to be added. |
name | str | | | The name of the new field. |
tuple_size | int | | | The tuple size of the new field. |
Return value
Type: ValueArray
Append
Appends another scene to this scene. All materials, textures etc.
Syntax
Parameters
Type | Name | Min | Max | Description |
Scene | otherScene | | | The scene object to merge into current scene. |
Syntax
Parameters
Type | Name | Min | Max | Description |
Scene | otherScene | | | The scene object to merge into current scene. |
Syntax
Parameters
Name | Type | Min | Max | Description |
otherScene | Scene | | | The scene object to merge into current scene. |
CalculateExtents
Calculates the axis-aligned bounding box of the whole scene. If the node tree contains no geometric data, or all data is hidden, the bounding box is not calculated, and the method returns false.
Syntax
Parameters
CalculateExtents takes no parameters.
Return value
Type: bool
Syntax
Parameters
CalculateExtents takes no parameters.
Return value
Type: bool
Syntax
Parameters
CalculateExtents takes no parameters.
Return value
Type: bool
Clear
Clears the whole scene and releases all items in the graph.
Syntax
Parameters
Clear takes no parameters.
Syntax
Parameters
Clear takes no parameters.
Syntax
Parameters
Clear takes no parameters.
Compact
Will remove mesh nodes that consist of empty geometry. The node transformation will be added to all child transformations. If the root node is a sceneMesh with empty geometry, it will be replaced with a generic sceneNode having the same transformation.
Syntax
Parameters
Compact takes no parameters.
Syntax
Parameters
Compact takes no parameters.
Syntax
Parameters
Compact takes no parameters.
CreateAABB
Returns a scene containing the axis aligned bounding boxes of either the entire scene or per mesh in the scene.
Syntax
Parameters
Type | Name | Min | Max | Description |
bool | perMesh | | | Selects whether to generate an AABB per mesh or only one for the entire scene. |
Return value
Type: Scene
Syntax
Parameters
Type | Name | Min | Max | Description |
bool | perMesh | | | Selects whether to generate an AABB per mesh or only one for the entire scene. |
Return value
Type: Scene
Syntax
Parameters
Name | Type | Min | Max | Description |
perMesh | bool | | | Selects whether to generate an AABB per mesh or only one for the entire scene. |
Return value
Type: Scene
DeepCopy
Deep copies the source scene, and all things assigned to it, including all nodes, geometry data, materials and tables.
Syntax
Parameters
Type | Name | Min | Max | Description |
Scene | src | | | Is source scene to copy. |
Syntax
Parameters
Type | Name | Min | Max | Description |
Scene | src | | | Is source scene to copy. |
Syntax
Parameters
Name | Type | Min | Max | Description |
src | Scene | | | Is source scene to copy. |
Evaluates the global transformation of the specified node at a specific time. EvaluateDefaultGlobalTransformation is used to evaluate the default transformation, regardless of node animation.
Syntax
Parameters
Type | Name | Min | Max | Description |
SceneNode | node | | | The node to evaluate. |
Matrix4x4 | global_transform | | | The transformation matrix that receives the global transformation. |
Syntax
Parameters
Type | Name | Min | Max | Description |
SceneNode | node | | | The node to evaluate. |
Matrix4x4 | global_transform | | | The transformation matrix that receives the global transformation. |
Syntax
Parameters
Name | Type | Min | Max | Description |
node | SceneNode | | | The node to evaluate. |
global_transform | Matrix4x4 | | | The transformation matrix that receives the global transformation. |
GetBoneTable
The bone table of the scene.
Syntax
Parameters
GetBoneTable takes no parameters.
Return value
Type: SceneBoneTable
Syntax
Parameters
GetBoneTable takes no parameters.
Return value
Type: SceneBoneTable
Syntax
Parameters
GetBoneTable takes no parameters.
Return value
Type: SceneBoneTable
GetCascadedSceneCount
Get the number of cascaded child scenes.
Syntax
Parameters
GetCascadedSceneCount takes no parameters.
Return value
Type: unsigned int
Syntax
Parameters
GetCascadedSceneCount takes no parameters.
Return value
Type: uint
Syntax
Parameters
GetCascadedSceneCount takes no parameters.
Return value
Type: int
GetCascadedSceneForIndex
Get the scene for the given cascaded child scene index, which must be less than the number of cascaded child scenes.
Syntax
Parameters
Type | Name | Min | Max | Description |
unsigned int | index | | | The cascaded child scene index. |
Return value
Type: Scene
Syntax
Parameters
Type | Name | Min | Max | Description |
uint | index | | | The cascaded child scene index. |
Return value
Type: Scene
Syntax
Parameters
Name | Type | Min | Max | Description |
index | int | | | The cascaded child scene index. |
Return value
Type: Scene
GetClass
Get the name of the Scene class.
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: spString
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: string
Syntax
Parameters
GetClass takes no parameters.
Return value
Type: str
GetCustomField
Adds/Removes/Gets a custom data field.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | name | | | The name of the field to be fetched. |
Return value
Type: ValueArray
Syntax
Parameters
Type | Name | Min | Max | Description |
string | name | | | The name of the field to be fetched. |
Return value
Type: ValueArray
Syntax
Parameters
Name | Type | Min | Max | Description |
name | str | | | The name of the field to be fetched. |
Return value
Type: ValueArray
GetInf
The inferior (minimum) extent of the scene.
Syntax
Parameters
GetInf takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetInf takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetInf takes no parameters.
Return value
Type: float
GetMappingImage
The MappingImage object for the scene.
Syntax
Parameters
GetMappingImage takes no parameters.
Return value
Type: MappingImage
Syntax
Parameters
GetMappingImage takes no parameters.
Return value
Type: MappingImage
Syntax
Parameters
GetMappingImage takes no parameters.
Return value
Type: MappingImage
GetMaterialChannels
Get all unique material channel names for all materials used in scene.
Syntax
Parameters
Type | Name | Min | Max | Description |
StringArray | channels | | | The array receiving unique channel names. |
Syntax
Parameters
Type | Name | Min | Max | Description |
StringArray | channels | | | The array receiving unique channel names. |
Syntax
Parameters
Name | Type | Min | Max | Description |
channels | StringArray | | | The array receiving unique channel names. |
GetMaterialChannelsWithTextureInputs
Get all unique material channel names having texture inputs for all materials used in scene.
Syntax
Parameters
Type | Name | Min | Max | Description |
StringArray | channels | | | The array receiving unique channel names. |
Syntax
Parameters
Type | Name | Min | Max | Description |
StringArray | channels | | | The array receiving unique channel names. |
Syntax
Parameters
Name | Type | Min | Max | Description |
channels | StringArray | | | The array receiving unique channel names. |
GetMaterialTable
The material table of the scene.
Syntax
Parameters
GetMaterialTable takes no parameters.
Return value
Type: MaterialTable
Syntax
Parameters
GetMaterialTable takes no parameters.
Return value
Type: MaterialTable
Syntax
Parameters
GetMaterialTable takes no parameters.
Return value
Type: MaterialTable
GetNodeByGUID
Gets a node defined by an id.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | node_id | | | The id of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Type | Name | Min | Max | Description |
string | node_id | | | The id of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Name | Type | Min | Max | Description |
node_id | str | | | The id of the node to get. |
Return value
Type: SceneNode
GetNodeFromPath
Gets a node defined by a path. Please note that the path must contain names for each level to be able to find the specified node.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | path | | | The path of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Type | Name | Min | Max | Description |
string | path | | | The path of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Name | Type | Min | Max | Description |
path | str | | | The path of the node to get. |
Return value
Type: SceneNode
GetRadius
The scene radius. Include SceneMesh, SceneNode, SceneCamera and excludes ScenePoint, ScenePlane, SceneLodGroup. When using GetRadius in LOD transition calculations set global setting IgnoreCameraInExtentsCalculation to true. As processors use bounds of the geometry rather than the scene.
Syntax
Parameters
GetRadius takes no parameters.
Return value
Type: real
Syntax
Parameters
GetRadius takes no parameters.
Return value
Type: float
Syntax
Parameters
GetRadius takes no parameters.
Return value
Type: float
GetRootNode
The root node of the scene.
Syntax
Parameters
GetRootNode takes no parameters.
Return value
Type: SceneNode
Syntax
Parameters
GetRootNode takes no parameters.
Return value
Type: SceneNode
Syntax
Parameters
GetRootNode takes no parameters.
Return value
Type: SceneNode
GetSelectionSetTable
The selection set table of the scene.
Syntax
Parameters
GetSelectionSetTable takes no parameters.
Return value
Type: SelectionSetTable
Syntax
Parameters
GetSelectionSetTable takes no parameters.
Return value
Type: SelectionSetTable
Syntax
Parameters
GetSelectionSetTable takes no parameters.
Return value
Type: SelectionSetTable
GetSubNodeByGUID
Gets a node defined by an id from the specified node tree.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | node_id | | | The id of the node to get. |
SceneNode | node | | | Id is the id of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Type | Name | Min | Max | Description |
string | node_id | | | The id of the node to get. |
SceneNode | node | | | Id is the id of the node to get. |
Return value
Type: SceneNode
Syntax
Parameters
Name | Type | Min | Max | Description |
node_id | str | | | The id of the node to get. |
node | SceneNode | | | Id is the id of the node to get. |
Return value
Type: SceneNode
GetSup
The superior (maximum) extent of the scene.
Syntax
Parameters
GetSup takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetSup takes no parameters.
Return value
Type: RealData
Syntax
Parameters
GetSup takes no parameters.
Return value
Type: float
GetTextureTable
The texture table of the scene.
Syntax
Parameters
GetTextureTable takes no parameters.
Return value
Type: TextureTable
Syntax
Parameters
GetTextureTable takes no parameters.
Return value
Type: TextureTable
Syntax
Parameters
GetTextureTable takes no parameters.
Return value
Type: TextureTable
GetTriangleCount
Traverses the scene meshes in the scene and returns the total triangle count.
Syntax
Parameters
GetTriangleCount takes no parameters.
Return value
Type: unsigned int
Syntax
Parameters
GetTriangleCount takes no parameters.
Return value
Type: uint
Syntax
Parameters
GetTriangleCount takes no parameters.
Return value
Type: int
HasCustomField
Checks if a custom field is present in the scene.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | name | | | The name of the field to be checked. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | name | | | The name of the field to be checked. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
name | str | | | The name of the field to be checked. |
Return value
Type: bool
IsA
Returns true if Scene is a or is a descendant of the class named as the type parameter.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | type | | | Name of the class to check if Scene is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | type | | | Name of the class to check if Scene is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
type | str | | | Name of the class to check if Scene is, or is a descendant of. |
Return value
Type: bool
IsNull
Returns true if the Scene object is invalid.
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
Syntax
Parameters
IsNull takes no parameters.
Return value
Type: bool
LoadFromFile
Loads a scene from file.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | path | | | The path of the scene file. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | path | | | The path of the scene file. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
path | str | | | The path of the scene file. |
Return value
Type: bool
NewCombinedGeometry
Combines all the geometries from the scene and returns a copy.
Syntax
Parameters
NewCombinedGeometry takes no parameters.
Return value
Type: GeometryData
Syntax
Parameters
NewCombinedGeometry takes no parameters.
Return value
Type: GeometryData
Syntax
Parameters
NewCombinedGeometry takes no parameters.
Return value
Type: GeometryData
NewCombinedGeometryFromSelectionSet
Combines all the geometries from the selection set and returns a copy. If the selection set ID is -1, then all the geometries will be copied.
Syntax
Parameters
Type | Name | Min | Max | Description |
int | selectionSetID | | | The ID of the selection set containing node ids to combine. |
Return value
Type: GeometryData
Syntax
Parameters
Type | Name | Min | Max | Description |
int | selectionSetID | | | The ID of the selection set containing node ids to combine. |
Return value
Type: GeometryData
Syntax
Parameters
Name | Type | Min | Max | Description |
selectionSetID | int | | | The ID of the selection set containing node ids to combine. |
Return value
Type: GeometryData
NewCopy
Creates a new deep copy of the scene, and all things assigned to it, including all nodes, geometry data, materials and tables.
Syntax
Parameters
NewCopy takes no parameters.
Return value
Type: Scene
Syntax
Parameters
NewCopy takes no parameters.
Return value
Type: Scene
Syntax
Parameters
NewCopy takes no parameters.
Return value
Type: Scene
RemoveCustomField
Removes a custom data field.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | name | | | The name of the field to be removed. |
Syntax
Parameters
Type | Name | Min | Max | Description |
string | name | | | The name of the field to be removed. |
Syntax
Parameters
Name | Type | Min | Max | Description |
name | str | | | The name of the field to be removed. |
RemoveSceneNodes
Removes all scene nodes.
Syntax
Parameters
RemoveSceneNodes takes no parameters.
Syntax
Parameters
RemoveSceneNodes takes no parameters.
Syntax
Parameters
RemoveSceneNodes takes no parameters.
RemoveSceneNodesInSelectionSet
Removes all scene nodes listed in a selection set.
Syntax
Parameters
Type | Name | Min | Max | Description |
int | selectionSetID | | | The ID of the selection set containing the nodes to remove. |
Syntax
Parameters
Type | Name | Min | Max | Description |
int | selectionSetID | | | The ID of the selection set containing the nodes to remove. |
Syntax
Parameters
Name | Type | Min | Max | Description |
selectionSetID | int | | | The ID of the selection set containing the nodes to remove. |
RemoveSceneNodesOfType
Removes all scene nodes of a specific type.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | nodeType | | | The type of object to remove from the scene (i.e. ISceneMesh) |
Syntax
Parameters
Type | Name | Min | Max | Description |
string | nodeType | | | The type of object to remove from the scene (i.e. ISceneMesh) |
Syntax
Parameters
Name | Type | Min | Max | Description |
nodeType | str | | | The type of object to remove from the scene (i.e. ISceneMesh) |
RemoveUnlinkedBones
Removes all bones in the scene that are not linked by any SceneMesh geometry data. Note that the removal only removes leaf nodes in the scene.
Syntax
Parameters
RemoveUnlinkedBones takes no parameters.
Syntax
Parameters
RemoveUnlinkedBones takes no parameters.
Syntax
Parameters
RemoveUnlinkedBones takes no parameters.
SaveToFile
Saves a scene to file.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | path | | | The path to which the scene file will be saved. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | path | | | The path to which the scene file will be saved. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
path | str | | | The path to which the scene file will be saved. |
Return value
Type: bool
SelectNodes
Selects all nodes of the type specified in the parameter and returns the selection set ID. If no types were found, it returns -1.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | nodeTypeName | | | The type of node to select, for example "ISceneMesh". |
Return value
Type: int
Syntax
Parameters
Type | Name | Min | Max | Description |
string | nodeTypeName | | | The type of node to select, for example "ISceneMesh". |
Return value
Type: int
Syntax
Parameters
Name | Type | Min | Max | Description |
nodeTypeName | str | | | The type of node to select, for example "ISceneMesh". |
Return value
Type: int
StandardizeMaterials
Clears all previous data in both the material and texture tables and creates new, empty materials for every material id referenced by the MaterialIds field in the scenes geometrydata objects. Useful for cleaning up scenes containing invalid material references and making them exportable when you are primarily interested in the geometry and not the materials.
Syntax
Parameters
StandardizeMaterials takes no parameters.
Syntax
Parameters
StandardizeMaterials takes no parameters.
Syntax
Parameters
StandardizeMaterials takes no parameters.
Static methods details
IsClassA
Returns true if the class is a or is a descendant of the class named as the type parameter.
Syntax
Parameters
Type | Name | Min | Max | Description |
const char * | type | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Type | Name | Min | Max | Description |
string | type | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
Syntax
Parameters
Name | Type | Min | Max | Description |
type | str | | | Name of the class to check if the class is, or is a descendant of. |
Return value
Type: bool
SafeCast
SafeCast makes sure the input object is of a class that can be cast into spScene, and if this is the case, returns the object cast into spScene.
Syntax
Parameters
Type | Name | Min | Max | Description |
Object | object | | | Object to cast. |
Return value
Type: Scene
Syntax
Parameters
Type | Name | Min | Max | Description |
Object | object | | | Object to cast. |
Return value
Type: Scene
Syntax
Parameters
Name | Type | Min | Max | Description |
object | Object | | | Object to cast. |
Return value
Type: Scene