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
Example:
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 )
                {
                        app.LogMessage(
                                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 )

Constructor.

Parameters:
in_ref constant reference object.
Triangle ( const Triangle 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 SIObject.

siClassID GetClassID ( ) const [virtual]

Returns the type of the API class.

Returns:
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.

Parameters:
in_obj constant class object.
Returns:
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.

Parameters:
in_ref constant class object.
Returns:
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.

Returns:
Array of neighbor Triangle objects.
CTriangleVertexRefArray GetPoints ( ) const

Returns an array of TriangleVertex objects for this triangle.

Returns:
Array of TriangleVertex objects.
LONG GetIndex ( ) const

Returns the index of this Triangle object in its geometry.

Returns:
The Triangle index.
LONG GetPolygonIndex ( ) const

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

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

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

Returns:
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.

Returns:
Array of CVector3 objects.
CVertexColorArray GetColorArray ( ) const

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

Returns:
Array of CVertexColor objects.
CUVArray GetUVArray ( ) const

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

Returns:
Array of CUV objects.
CLongArray GetIndexArray ( ) const

Returns the TriangleVertex indices for this Triangle.

Returns:
Array of indices.

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