# class SceneLodGroup

SceneLodGroup is a LOD grouping for the scene graph

# Properties

Property Description
IsModified If set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph. (Inherited from SceneNode)
IsVisible The IsVisible flag. If set, the node is visible. (Inherited from SceneNode)
Name The name of the SceneLodGroup object. (Inherited from Object)
NodeGUID The unique id for this node. (Inherited from SceneNode)
OriginalName 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. (Inherited from SceneNode)

# Methods

Method Description
AddChild Adds a child node to this node. If the child is already a child of another node, it is removed from this node. (Inherited from SceneNode)
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
CalculateExtents 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 calculated, and the method returns false. (Inherited from SceneNode)
CreateChildMesh Creates a SceneMesh node as a child node to this node. (Inherited from SceneNode)
CreateChildPlane Creates a ScenePlane node as a child node to this node. (Inherited from SceneNode)
EvaluateDefaultGlobalTransformation Evaluates the default global transformation of the node, regardless of node animation. (Inherited from SceneNode)
FindNamedChild Finds the first child that has the name. (Inherited from SceneNode)
GetChild Get a pointer to the i:th child of this node. (Inherited from SceneNode)
GetChildCount The number of direct children of this node. (Inherited from SceneNode)
GetClass Get the name of the SceneLodGroup class. (Inherited from Object)
GetInf The inferior (minimum) extent of the node. (Inherited from SceneNode)
GetLodForDistance Returns the child node to use for rendering based on the distance parameter and the current threshold values.
GetParent The parent node of this node. (Inherited from SceneNode)
GetPath 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. (Inherited from SceneNode)
GetRelativeTransform The relative transformation of this node. (Inherited from SceneNode)
GetScene The scene object of the node. (Inherited from SceneNode)
GetSup The superior (maximum) extent of the node. (Inherited from SceneNode)
GetThresholds The threshold distances associated with the LODs of the LOD group.
HasChild Returns true if the node has the specified child. (Inherited from SceneNode)
IsA Returns true if SceneLodGroup is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNull Returns true if the SceneLodGroup object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the SceneLodGroup object is valid. (Inherited from Object)
NewCopy 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. Also note that the clone shares all data pointers with the original nodes, such as geometry data objects. (Inherited from SceneNode)
NonNull Returns true if the SceneLodGroup object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the SceneLodGroup object to the log. (Inherited from Object)
RemoveChild Removes a child from the node. (Inherited from SceneNode)
RemoveChildren Removes all children of this node. (Inherited from SceneNode)
RemoveFromParent Removes this node from its parent. (Inherited from SceneNode)
RemoveObserver Removes a previously added observer object. (Inherited from Object)

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCast SafeCast makes sure the input object is of a class that can be cast into spSceneLodGroup, and if this is the case, returns the object cast into spSceneLodGroup. (Inherited from Object)

# Properties details

# IsModified

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

# Syntax

// Setter
void SetIsModified( bool value ) const;

// Getter
bool GetIsModified() const;

# SetIsModified parameters

Type Name Min Max Description
bool value The bool that IsModified is to be set to.

# GetIsModified return value

Type: bool

# IsVisible

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

# Syntax

// Setter
void SetIsVisible( bool value ) const;

// Getter
bool GetIsVisible() const;

# SetIsVisible parameters

Type Name Min Max Description
bool value The bool that isVisible is to be set to.

# GetIsVisible return value

Type: bool

# Name

The name of the SceneLodGroup object. (Inherited from Object)

# Syntax

// Setter
void SetName( const char * name ) const;

// Getter
spString GetName() const;

# SetName parameters

Type Name Min Max Description
const char * name New name of the object.

# GetName return value

Type: spString

# NodeGUID

The unique id for this node.

# Syntax

// Setter
void SetNodeGUID( const char * value ) const;

// Getter
spString GetNodeGUID() const;

# SetNodeGUID parameters

Type Name Min Max Description
const char * value The node id of type string.

# GetNodeGUID return value

Type: spString

# OriginalName

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.

# Syntax

// Setter
void SetOriginalName( const char * value ) const;

// Getter
spString GetOriginalName() const;

# SetOriginalName parameters

Type Name Min Max Description
const char * value Is a string the name is to be set to.

# GetOriginalName return value

Type: spString

# Methods details

# AddChild

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

# Syntax

void AddChild( const spSceneNode & child ) const;

# Parameters

Type Name Min Max Description
SceneNode child The child object.

# AddObserver

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

# Syntax

rid AddObserver( const spObserver & observer ) const;

# Parameters

Type Name Min Max Description
Observer observer Observer is the object that will receive events.

# Return value

Type: rid

# CalculateExtents

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 calculated, and the method returns false.

# Syntax

bool CalculateExtents() const;

# Parameters

CalculateExtents takes no parameters.

# Return value

Type: bool

# CreateChildMesh

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

# Syntax

spSceneMesh CreateChildMesh( const spGeometryData & geom ) const;

# Parameters

Type Name Min Max Description
GeometryData geom The GeometryData object to associate with this node.

# Return value

Type: SceneMesh

# CreateChildPlane

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

# Syntax

spScenePlane CreateChildPlane( const real *position_realInputDataPtr , const real *normal_realInputDataPtr ) const;

# Parameters

Type Name Min Max Description
RealData position The point on the plane.
RealData normal The normal to the plane.

# Return value

Type: ScenePlane

# EvaluateDefaultGlobalTransformation

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

# Syntax

void EvaluateDefaultGlobalTransformation( const spMatrix4x4 & globalTransform ) const;

# Parameters

Type Name Min Max Description
Matrix4x4 globalTransform The transformation matrix that receives the global transformation.

# FindNamedChild

Finds the first child that has the name.

# Syntax

spSceneNode FindNamedChild( const char * name ) const;

# Parameters

Type Name Min Max Description
const char * name The name of the child to look for.

# Return value

Type: SceneNode

# GetChild

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

# Syntax

spSceneNode GetChild( rid index ) const;

# Parameters

Type Name Min Max Description
rid index The local index of the child (0->GetChildCount()-1)

# Return value

Type: SceneNode

# GetChildCount

The number of direct children of this node.

# Syntax

unsigned int GetChildCount() const;

# Parameters

GetChildCount takes no parameters.

# Return value

Type: unsigned int

# GetClass

Get the name of the SceneLodGroup class. (Inherited from Object)

# Syntax

spString GetClass() const;

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetInf

The inferior (minimum) extent of the node.

# Syntax

spRealData GetInf() const;

# Parameters

GetInf takes no parameters.

# Return value

Type: spRealData

# GetLodForDistance

Returns the child node to use for rendering based on the distance parameter and the current threshold values.

# Syntax

spSceneNode GetLodForDistance( real distance ) const;

# Parameters

Type Name Min Max Description
real distance The distance in units.

# Return value

Type: SceneNode

# GetParent

The parent node of this node.

# Syntax

spSceneNode GetParent() const;

# Parameters

GetParent takes no parameters.

# Return value

Type: SceneNode

# GetPath

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.

# Syntax

spString GetPath() const;

# Parameters

GetPath takes no parameters.

# Return value

Type: spString

# GetRelativeTransform

The relative transformation of this node.

# Syntax

spMatrix4x4 GetRelativeTransform() const;

# Parameters

GetRelativeTransform takes no parameters.

# Return value

Type: Matrix4x4

# GetScene

The scene object of the node.

# Syntax

spScene GetScene() const;

# Parameters

GetScene takes no parameters.

# Return value

Type: Scene

# GetSup

The superior (maximum) extent of the node.

# Syntax

spRealData GetSup() const;

# Parameters

GetSup takes no parameters.

# Return value

Type: spRealData

# GetThresholds

The threshold distances associated with the LODs of the LOD group.

# Syntax

spRealArray GetThresholds() const;

# Parameters

GetThresholds takes no parameters.

# Return value

Type: RealArray

# HasChild

Returns true if the node has the specified child.

# Syntax

bool HasChild( const spSceneNode & child ) const;

# Parameters

Type Name Min Max Description
SceneNode child The child node to look for.

# Return value

Type: bool

# IsA

Returns true if SceneLodGroup is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

bool IsA( const char * type ) const;

# Parameters

Type Name Min Max Description
const char * type Name of the class to check if SceneLodGroup is, or is a descendant of.

# Return value

Type: bool

# IsNull

Returns true if the SceneLodGroup object is invalid. (Inherited from Object)

# Syntax

bool IsNull() const;

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# IsSameObjectAs

Returns true if the SceneLodGroup object is valid. (Inherited from Object)

# Syntax

bool IsSameObjectAs( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to compare with.

# Return value

Type: bool

# NewCopy

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. Also note that the clone shares all data pointers with the original nodes, such as geometry data objects.

# Syntax

spSceneNode NewCopy() const;

# Parameters

NewCopy takes no parameters.

# Return value

Type: SceneNode

# NonNull

Returns true if the SceneLodGroup object is valid. (Inherited from Object)

# Syntax

bool NonNull() const;

# Parameters

NonNull takes no parameters.

# Return value

Type: bool

# PrintInfo

Prints the content/info of the SceneLodGroup object to the log. (Inherited from Object)

# Syntax

void PrintInfo() const;

# Parameters

PrintInfo takes no parameters.

# RemoveChild

Removes a child from the node.

# Syntax

void RemoveChild( const spSceneNode & child ) const;

# Parameters

Type Name Min Max Description
SceneNode child The child to be removed.

# RemoveChildren

Removes all children of this node.

# Syntax

void RemoveChildren() const;

# Parameters

RemoveChildren takes no parameters.

# RemoveFromParent

Removes this node from its parent.

# Syntax

void RemoveFromParent() const;

# Parameters

RemoveFromParent takes no parameters.

# RemoveObserver

Removes a previously added observer object. (Inherited from Object)

# Syntax

void RemoveObserver( rid observerId ) const;

# Parameters

Type Name Min Max Description
rid observerId ObserverId is the id returned by AddObserver when the observer was added.

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

# Syntax

static bool IsClassA( const char * type ) const;

# 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

# SafeCast

SafeCast makes sure the input object is of a class that can be cast into spSceneLodGroup, and if this is the case, returns the object cast into spSceneLodGroup. (Inherited from Object)

# Syntax

static spSceneLodGroup SafeCast( const spObject & object ) const;

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: SceneLodGroup