# ICETree Class Reference

Related Scripting Object: ICETree | Supported Parameter List: icetree

The ICETree object represents a node graph and holds all the effect nodes together. More...

`#include <xsi_icetree.h>`

Inheritance diagram for ICETree:

List of all members.

## Public Member Functions
| ICETree ()
| ~ICETree ()
| ICETree (const CRef &in_ref)
| ICETree (const ICETree &in_obj)
bool | IsA (siClassID in_ClassID) const
siClassID | GetClassID () const
ICETree & | operator= (const ICETree &in_obj)
ICETree & | operator= (const CRef &in_ref)

## Detailed Description

The ICETree object represents a node graph and holds all the effect nodes together.

It serves as a container for objects such as ICENode and ICECompoundNode. The ICETree is attached to the Primitive being modified and acts like the evaluation entry-point for the entire graph. ICETree objects can be created with the ApplyOp command by passing the ICETree preset as argument.

See also:
  ICENode, ICECompoundNode, ICEDataProviderNode, ICEDataModifierNode

  ApplyOp, ApplyICEOp, ApplyICETemplate

Since:
  7.0

Example:
  This example demonstrates how to create an ICETree object.

              void CreatePrim( const CString& in_presetobj, const CString& in_geometrytype, const CString& in_name, const CString& in_parent );
              CRefArray ApplyOp( const CString& in_presetobj, CString & io_connectionset, const siConstructionMode& in_constructionmode );

              // Create agrid primitive and apply a ICETree on it
              CreatePrim( L"Grid", L"MeshSurface", L"", L"" );

              CString strGrid(L"grid");
              CRefArray outOps = ApplyOp( L"ICETree", strGrid, siConstructionModeModeling );

              // The new ICETree returned by ApplyOp is encapsulated within outOps at position 0
              ICETree t = outOps[0];

              Application xsi;
              xsi.LogMessage( t.GetClassIDName() );

Example:
  This example demonstrates how to get the ICETree object(s) from the primitive.

              void CreatePrim( const CString& in_presetobj, const CString& in_geometrytype, const CString& in_name, const CString& in_parent );
              CRefArray ApplyOp( const CString& in_presetobj, CString & io_connectionset, const siConstructionMode& in_constructionmode );

              // Create agrid primitive and apply a ICETree on it
              CreatePrim( L"Grid", L"MeshSurface", L"", L"" );

              CString strGrid(L"grid");
              ApplyOp( L"ICETree", strGrid, siConstructionModeModeling );

              // Get the ICETree(s) from the primitive
              Selection selection = xsi.GetSelection();
              X3DObject x3DGrid = selection[ 0 ];
              CRefArray trees = x3DGrid.GetActivePrimitive().GetICETrees();
              for (LONG i=0; i<trees.GetCount(); i++)
              {
                  ICETree t = trees[i];
                  xsi.LogMessage( t.GetClassIDName() );
              }

## Constructor & Destructor Documentation

ICETree | ( |  | ) |

Default constructor.

~ICETree | ( |  | ) |

Default destructor.

ICETree | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  | in_ref | constant reference object.

ICETree | ( | const ICETree & | in_obj | ) |

Copy constructor.

Parameters:

  | in_obj | constant class object.

## Member Function Documentation

bool IsA | ( | siClassID | in_ClassID | ) | const`[virtual]`

Returns true if a given class type is compatible with this API class.

Parameters:

  | in_ClassID | class type.

Returns:
  true if the class is compatible, false otherwise.

Reimplemented from ICENodeContainer.

siClassID GetClassID | ( |  | ) | const`[virtual]`

Returns the type of the API class.

Returns:
  The class type.

Reimplemented from ICENodeContainer.

ICETree& operator= | ( | const ICETree & | in_obj | ) |

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:

  | in_obj | constant class object.

Returns:
  The new ICETree object.

ICETree& operator= | ( | const CRef & | in_ref | ) |

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:

  | in_ref | constant class object.

Returns:
  The new ICETree object.

Reimplemented from ICENodeContainer.

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

- xsi_icetree.h