This addon shows various self-installing custom ICENodes.
BBoxGenerator
This sample demonstrates how to use the single-threading model for implementing a custom ICENode. The node reads all the points of a geometry at
once and write the min and max point value on the output.
CloudGeneratorFromDataFile
The example demonstrates the use of an element generator custom node (i.e. CloudGeneratorFromDataFile) and the built-in StringFilePathSequence node for generating a particle cloud from a
sequence of files. The CloudGeneratorFromDataFile custom node generates the particles by reading the 'pointposition' values from the data files provided by the StringFilePathSequence node.
Other cloud attributes such as size and color are set by the SetAttributeValueFromDataFile custom node. The data files are generated with the mycache plugin example by exporting the
pointposition, size and color attribute values from a demo scene.
CustomGoalDeformer
The CustomGoalDeformer sample demonstrates the use of the multi-phase evaluation approach for implementing a goal particle deformer. The ICENode reads the source particle points in the
first phase and performs the final blending operation using the goal points in the last evaluation phase.
CustomPassThrough
This example demonstrates how to handle port polymorphism programmatically in a custom node.
CustomVector3ToScalar
This is a simple example of an ICENode. The node reads a vector3 input value, extracts the XYZ components and write each one to individual
output ports. This sample node is demonstrated with the CustomVector3ToScalar.scn scene which contains an ICENode graph that performs
a twist operation on a cube.
ElementGenerator
This sample demonstrates how to implement an element generator ICENode typically used for generating particles. The ElementGenerator.scn contains an
instance of the ElementGenerator node and creates a 2D particle grid whose size is specified with the node's Size input port.
GridWalker
This sample demonstrates how to use the custom type support for storing binary data values in ICE with custom ICENodes. The GridWalker sample moves particle points
randomly on a grid and keeps the state of each particle in a data structure stored as binary data in the ICE graph. The structure is updated at each frame with a
new particle state.
PointGeneratorFromGeometry
The sample demonstrates how to use the CICEGeometry class for accessing geometry data within a custom ICE node. This is demonstrated by the PointGeneratorFromGeometry
node which generates particles on a set of geometry surfaces by using different sampling methods.
PortStateObserver
This sample demonstrates how to determine if the state of the data and the geometry objects connected to a custom node have changed. The CICEPortState class is used
in this demo to query for the states of any connected input data, whereas the CICEGeometry class is used to determine if the state of connected geometries have changed.
Quake2Loaders
This sample demonstrates how to create custom nodes to read geometry from files and create geometry using ICE Modeling.
The MD2Loader node reads a Quake2 MD2 model file and returns the geometry at a given frame.
The BSPLoader node reads a Quake2 BSP map file, and returns the geometry based on a given position.
The 2 loaders returns singleton arrays for the vertices, polygonal description, uvs, normals.
The BSP loader also returns arrays for materials and materialIDs.
RandomGridGenerator
This sample demonstrates how to generate a particle cloud geometry with random points using the MATH::CRandom class of the C++ SDK.
Vector3Union
This sample demonstrates how to create an array of CVector3f objects by combining the similar objects of 2 input CVector3f arrays in multi-threading. The sample
scene Vector3Union.scn demonstrates how to generates particles from the union of 2 point position vectors output by GetClosestPoints nodes.
YPosFilter
The YPosFilter sample demonstrates how to remove elements from a node index set to achieve a filtering operation in an ICE graph. The YPosFilter.scn uses
the ICENode sample to remove all point elements of a cone whose Y components are below 0.0. You can watch the resulting effect by translating the cone in the
Y direction.
Location | |
Files |
BBoxGenerator.cpp
CustomMultiPhaseGoal.cpp
CustomPassThrough.cpp
CustomVector3ToScalar.cpp
ElementGenerator.cpp
GridWalker.cpp
CloudGeneratorFromDataFile.cpp
SetAttributeValueNode.cpp
SetAttributeValuesNode.cpp
DataFileParser.cpp
DataFileParser.h
PointGeneratorFromGeometry.cpp
PortStateObserver.cpp
RandomGridGenerator.cpp
YPosFilter.cpp
Vector3UnionNode.cpp
PortStateObserver_LogChanges.vbs
|
To install the example
Connect to the Softimage SDK workgroup at %XSISDK_ROOT%\examples\workgroup.
To view the help page for an example
To run the CustomPassThrough example
To run the CustomVector3ToScalar example
To run the CustomGoalDeformer example
To run the BBoxGenerator example
To run the CloudGeneratorFromDataFile example
To run the ElementGenerator example
To run the GridWalker example
To run the PointGeneratorFromGeometry example
Number of random points
parameter can
be used with the Random Points
sampling method to specify the number of particles to generate per triangle.To run the PortStateObserver example
To run the RandomGridGenerator example
To run the Vector3Union example
To run the YPosFilter example
Use the following instructions to build the ICENode samples.
To build the CustomGoalDeformer example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the CustomMultiPhaseGoal project from the command line, type:
devenv cppsrc_custom_goal_deformer\CustomMultiPhaseGoal.vcproj
To build the CustomGoalDeformer example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_custom_goal_deformer
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the CustomPassThrough example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the CustomPassThrough project from the command line, type:
devenv cppsrc_custom_passthrough\CustomPassThrough.vcproj
To build the CustomPassThrough example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_custom_passthrough
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the CustomVector3ToScalar example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the CustomVector3ToScalar project from the command line, type:
devenv cppsrc_customvector3toscalar\CustomVector3ToScalar.vcproj
To build the CustomVector3ToScalar example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_customvector3toscalar
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the BBoxGenerator example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the BBoxGenerator project from the command line, type:
devenv cppsrc_bboxgenerator\BBoxGenerator.vcproj
To build the BBoxGenerator example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_bboxgenerator
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the CloudGeneratorFromDataFile example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the CloudGeneratorFromDataFile project from the command line, type:
devenv cppsrc_pointcloud_generator_from_file\CloudGeneratorFromDataFile.vcproj
To build the CloudGeneratorFromDataFile example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_pointcloud_generator_from_file
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the ElementGenerator example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the ElementGenerator project from the command line, type:
devenv cppsrc_elementgenerator\ElementGenerator.vcproj
To build the ElementGenerator example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_elementgenerator
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the GridWalker example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the GridWalker project from the command line, type:
devenv cppsrc_gridwalker\GridWalker.vcproj
To build the GridWalker example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_gridwalker
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the PointGeneratorFromGeometry example on Windows
Open an Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from an Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the PointGeneratorFromGeometry project from the command line, type:
devenv cppsrc_pointgenerator\PointGeneratorFromGeometry.vcproj
To build the PointGeneratorFromGeometry example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_pointgenerator
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the PortStateObserver example on Windows
Open an Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from an Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the PortStateObserver project from the command line, type:
devenv cppsrc_port_state_observer\PortStateObserver.vcproj
To build the PortStateObserver example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_port_state_observer
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the RandomGridGenerator example on Windows
Open an XSI command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from an XSI command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the RandomGridGenerator project from the command line, type:
devenv cppsrc_randomgridgenerator\RandomGridGenerator.vcproj
To build the RandomGridGenerator example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_randomgridgenerator
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the Vector3Union example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the Vector3Union project from the command line, type:
devenv cppsrc_vector3_union\Vector3Union.vcproj
To build the Vector3Union example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_vector3_union
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
To build the YPosFilter example on Windows
Open a Softimage command prompt, and type devenv to start Visual Studio .NET.
Starting Visual Studio .NET from a Softimage command prompt ensures that environment variables such as XSISDK_ROOT are set (otherwise you'll get build and link errors).
Tip To load the YPosFilter project from the command line, type:
devenv cppsrc_yposfilter\YPosFilter.vcproj
To build the YPosFilter example on Linux
In a shell (tcsh) window, type:
source $XSI_HOME/.xsi_<xsi_version>
Change directories to
cppsrc_yposfilter
To remove all intermediate files before building the example, run this command:
gmake clean
To compile the example, run this command:
gmake
This example uses the following keywords:
ICENode ICENodeContext C++