Represents a triangle generated by a surface tesselation.
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() ); }
#include <xsi_triangle.h>

| 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 | 
| Triangle | ( | ) | 
Default constructor.
| ~Triangle | ( | ) | 
Default destructor.
| bool IsA | ( | siClassID | in_ClassID | ) | const  [virtual] | 
Returns true if a given class type is compatible with this API class.
| in_ClassID | class type. | 
Reimplemented from SIObject.
| siClassID GetClassID | ( | ) | const  [virtual] | 
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. | 
| CTriangleRefArray GetNeighborTriangles | ( | ) | const | 
| CTriangleVertexRefArray GetPoints | ( | ) | const | 
Returns an array of TriangleVertex objects for this triangle.
| LONG GetIndex | ( | ) | const | 
| LONG GetPolygonIndex | ( | ) | const | 
Returns the index of the polygon from which this Triangle comes.
| MATH::CVector3Array GetPositionArray | ( | ) | const | 
Returns an array of CVector3 objects representing the position of all TriangleVertex objects of this Triangle object.
| 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.
| CVertexColorArray GetColorArray | ( | ) | const | 
Returns the TriangleVertex colors for this Triangle as an array of VertexColor objects.
| CUVArray GetUVArray | ( | ) | const | 
Returns the TriangleVertex UV coordinates for this Triangle as an array of CUV objects.
| CLongArray GetIndexArray | ( | ) | const | 
Returns the TriangleVertex indices for this Triangle.