#include <xsi_triangle.h>
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() ); }
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.