Triangle Class Reference
Triangle Class Reference

#include <xsi_triangle.h>

Class Description

Represents a triangle generated by a surface tesselation.

See also:
CTriangleRefArray, Triangle, Geometry
This example shows how to print out the point positions and the triangle data for a polygon mesh.
                using namespace XSI;
                using namespace MATH;

                Application app;
                Model root = app.GetActiveSceneRoot();

                X3DObject myCube;
                root.AddGeometry( L"Cube", L"MeshSurface", L"", myCube );

                Geometry geom(myCube.GetActivePrimitive().GetGeometry());
                CPointRefArray points(geom.GetPoints());
                CVector3Array positions( geom.GetPoints().GetPositionArray() );

                LONG ulCount = positions.GetCount();
                app.LogMessage( L"Object: " + myCube.GetName() );
                app.LogMessage( L"Points: " + CValue((LONG)ulCount).GetAsText() );

                // Print out the x,y,z positions of each point
                for (LONG i=0; i<ulCount; ++i )
                                CValue(positions[i].GetX()).GetAsText() + L"," +
                                CValue(positions[i].GetY()).GetAsText() + L"," +
                                CValue(positions[i].GetZ()).GetAsText() );

                // Print out the point indices for each triangle
                CTriangleRefArray triangles(geom.GetTriangles());
                CLongArray indices( triangles.GetIndexArray() );

                app.LogMessage( L"Triangles: " + CValue(triangles.GetCount()).GetAsText());

                ulCount = indices.GetCount();
                for (i=0; i<ulCount; i += 3 )
                        app.LogMessage( CValue(indices[i]).GetAsText() + L"," +
                                CValue(indices[i+1]).GetAsText() + L"," +
                                CValue(indices[i+2]).GetAsText() );
Inheritance diagram for Triangle:
SIObject CBase

List of all members.

Public Member Functions

  Triangle ()
  ~Triangle ()
  Triangle (const CRef &in_ref)
  Triangle (const Triangle &in_obj)
bool  IsA (siClassID in_ClassID) const
siClassID  GetClassID () const
Triangle operator= (const Triangle &in_obj)
Triangle operator= (const CRef &in_ref)
CTriangleRefArray  GetNeighborTriangles () const
CTriangleVertexRefArray  GetPoints () const
LONG  GetIndex () const
LONG  GetPolygonIndex () const
MATH::CVector3Array  GetPositionArray () const
MATH::CVector3Array  GetPolygonNodeNormalArray () const
CVertexColorArray  GetColorArray () const
CUVArray  GetUVArray () const
CLongArray  GetIndexArray () const

Constructor & Destructor Documentation

Triangle ( )

Default constructor.

~Triangle ( )

Default destructor.

Triangle ( const CRef in_ref )


in_ref constant reference object.
Triangle ( const Triangle in_obj )

Copy constructor.

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.

in_ClassID class type.
true if the class is compatible, false otherwise.

Reimplemented from SIObject.

siClassID GetClassID ( ) const [virtual]

Returns the type of the API class.

The class type.

Reimplemented from SIObject.

Triangle& operator= ( const Triangle in_obj )

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

in_obj constant class object.
The new Triangle object.
Triangle& 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.

in_ref constant class object.
The new Triangle object.

Reimplemented from SIObject.

CTriangleRefArray GetNeighborTriangles ( ) const

Returns an array of neighbor Triangle objects for this triangle. The array may contain empty objects whose represent the unexisting neighbour triangles.

Array of neighbor Triangle objects.
CTriangleVertexRefArray GetPoints ( ) const

Returns an array of TriangleVertex objects for this triangle.

Array of TriangleVertex objects.
LONG GetIndex ( ) const

Returns the index of this Triangle object in its geometry.

The Triangle index.
LONG GetPolygonIndex ( ) const

Returns the index of the polygon from which this Triangle comes.

The Polygon index.
MATH::CVector3Array GetPositionArray ( ) const

Returns an array of CVector3 objects representing the position of all TriangleVertex objects of this Triangle object.

Array of CVector3 objects.
MATH::CVector3Array GetPolygonNodeNormalArray ( ) const

Returns the TriangleVertex normals for this Triangle as an array of CVector3 objects. Triangle objects that belong to the same polygon will have the same normal values.

Array of CVector3 objects.
CVertexColorArray GetColorArray ( ) const

Returns the TriangleVertex colors for this Triangle as an array of VertexColor objects.

Array of CVertexColor objects.
CUVArray GetUVArray ( ) const

Returns the TriangleVertex UV coordinates for this Triangle as an array of CUV objects.

Array of CUV objects.
CLongArray GetIndexArray ( ) const

Returns the TriangleVertex indices for this Triangle.

Array of indices.

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