# class ScenePlane

ScenePlane is the plane node in the simplygon scene graph that can be used in various processes, for example as a cutting plane in the RemeshingProcessor.

# Properties

Property Description
IsFrozen The IsFrozen flag. If set, the node will not be modified by processing modules.
IsModified If set, the node is new, copied, or modified by processing modules. This can be useful to track modifications in the scene graph.
IsVisible The IsVisible flag. If set, the node is visible.
NodeGUID The unique id for this node.
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.

# 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.
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 calcluated, and the method returns false.
CreateChildMesh Creates a SceneMesh node as a child node to this node.
CreateChildPlane Creates a ScenePlane node as a child node to this node.
EvaluateDefaultGlobalTransformation Evaluates the default global transformation of the node, regardless of node animation.
FindNamedChild Finds the first child that has the name.
GetChild Get a pointer to the i:th child of this node.
GetChildCount The number of direct children of this node.
GetClass Get the name of the ScenePlane class.
GetInf The inferior (minimum) extent of the node.
GetNormal The normal of the plane.
GetParent The parent node of this node.
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.
GetPosition The position (translation) of the plane.
GetRelativeTransform The relative transformation of this node.
GetScene The scene object of the node.
GetSup The superior (maximum) extent of the node.
HasChild Returns true if the node has the specified child.
IsA Returns true if ScenePlane is a or is a descendant of the class named as the type parameter.
IsNull Returns true if the ScenePlane object is invalid.
NewClone 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.
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.
RemoveChild Removes a child from the node.
RemoveChildren Removes all children of this node.
RemoveFromParent Removes this node from its parent.
SetNormal The normal of the plane.
SetPosition The position (translation) of the plane.

# 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 spScenePlane, and if this is the case, returns the object cast into spScenePlane.

# Properties details

# IsFrozen

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

# Syntax

// Setter
void SetIsFrozen( bool value );

// Getter
bool GetIsFrozen();

# SetIsFrozen parameters

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

# GetIsFrozen return value

Type: bool

# 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 );

// Getter
bool GetIsModified();

# 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 );

// Getter
bool GetIsVisible();

# SetIsVisible parameters

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

# GetIsVisible return value

Type: bool

# NodeGUID

The unique id for this node.

# Syntax

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

// Getter
spString GetNodeGUID();

# 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 );

// Getter
spString GetOriginalName();

# 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( spSceneNode child );

# Parameters

Type Name Min Max Description
SceneNode child The child 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 calcluated, and the method returns false.

# Syntax

bool CalculateExtents();

# Parameters

CalculateExtents takes no parameters.

# Return value

Type: bool

# CreateChildMesh

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

# Syntax

spSceneMesh CreateChildMesh( spGeometryData geom );

# 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 );

# 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( spMatrix4x4 global_transform );

# Parameters

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

# FindNamedChild

Finds the first child that has the name.

# Syntax

spSceneNode FindNamedChild( const char * name );

# 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 );

# 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();

# Parameters

GetChildCount takes no parameters.

# Return value

Type: unsigned int

# GetClass

Get the name of the ScenePlane class.

# Syntax

spString GetClass();

# Parameters

GetClass takes no parameters.

# Return value

Type: spString

# GetInf

The inferior (minimum) extent of the node.

# Syntax

spRealData GetInf();

# Parameters

GetInf takes no parameters.

# Return value

Type: RealData

# GetNormal

The normal of the plane.

# Syntax

spRealData GetNormal();

# Parameters

GetNormal takes no parameters.

# Return value

Type: RealData

# GetParent

The parent node of this node.

# Syntax

spSceneNode GetParent();

# 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();

# Parameters

GetPath takes no parameters.

# Return value

Type: spString

# GetPosition

The position (translation) of the plane.

# Syntax

spRealData GetPosition();

# Parameters

GetPosition takes no parameters.

# Return value

Type: RealData

# GetRelativeTransform

The relative transformation of this node.

# Syntax

spMatrix4x4 GetRelativeTransform();

# Parameters

GetRelativeTransform takes no parameters.

# Return value

Type: Matrix4x4

# GetScene

The scene object of the node.

# Syntax

spScene GetScene();

# Parameters

GetScene takes no parameters.

# Return value

Type: Scene

# GetSup

The superior (maximum) extent of the node.

# Syntax

spRealData GetSup();

# Parameters

GetSup takes no parameters.

# Return value

Type: RealData

# HasChild

Returns true if the node has the specified child.

# Syntax

bool HasChild( spSceneNode child );

# Parameters

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

# Return value

Type: bool

# IsA

Returns true if ScenePlane is a or is a descendant of the class named as the type parameter.

# Syntax

bool IsA( const char * type );

# Parameters

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

# Return value

Type: bool

# IsNull

Returns true if the ScenePlane object is invalid.

# Syntax

bool IsNull();

# Parameters

IsNull takes no parameters.

# Return value

Type: bool

# NewClone

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.

# Syntax

spSceneNode NewClone();

# Parameters

NewClone takes no parameters.

# Return value

Type: SceneNode

# 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.

# Syntax

spSceneNode NewCopy();

# Parameters

NewCopy takes no parameters.

# Return value

Type: SceneNode

# RemoveChild

Removes a child from the node.

# Syntax

void RemoveChild( spSceneNode child );

# Parameters

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

# RemoveChildren

Removes all children of this node.

# Syntax

void RemoveChildren();

# Parameters

RemoveChildren takes no parameters.

# RemoveFromParent

Removes this node from its parent.

# Syntax

void RemoveFromParent();

# Parameters

RemoveFromParent takes no parameters.

# SetNormal

The normal of the plane.

# Syntax

void SetNormal( const real *vec_realInputDataPtr );

# Parameters

Type Name Min Max Description
RealData vec The new normal.

# SetPosition

The position (translation) of the plane.

# Syntax

void SetPosition( const real *vec_realInputDataPtr );

# Parameters

Type Name Min Max Description
RealData vec The new position.

# Static methods details

# IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter.

# Syntax

static bool IsClassA( const char * type );

# 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 spScenePlane, and if this is the case, returns the object cast into spScenePlane.

# Syntax

static spScenePlane SafeCast( spObject object );

# Parameters

Type Name Min Max Description
Object object Object to cast.

# Return value

Type: ScenePlane