IPolygon Struct Reference
[External Interfaces]

Inheritance diagram for IPolygon:
IMCUnknown

List of all members.

Public Member Functions

virtual int32 MCCOMAPI GetNbVertices () const =0
virtual I3DExVertex *MCCOMAPI GetVertex (int32 indexInPolygon)=0
virtual IEdge *MCCOMAPI GetEdge (int32 indexInPolygon)=0
virtual void MCCOMAPI Delete ()=0
virtual IFacet *MCCOMAPI GetFacet (int32 indexInPolygon)=0
virtual int32 MCCOMAPI FacetCount ()=0
virtual void MCCOMAPI GetBoundingBox (TBBox3D &bbox)=0
virtual void MCCOMAPI SetSelection (boolean selected, boolean autoSelection=true)=0
virtual boolean MCCOMAPI GetSelection (boolean useSymmetry=false)=0
virtual boolean MCCOMAPI GetBestPlane (TVector3 &ii, TVector3 &jj, TVector3 &kk, TVector3 &center)=0
virtual void MCCOMAPI GetPolymesh (IPolymesh **iPolymesh)=0
virtual void MCCOMAPI Triangulate ()=0
virtual void MCCOMAPI SetBooleanClassification (const int32 classification)=0
virtual const int32 MCCOMAPI GetBooleanClassification ()=0
virtual void MCCOMAPI GetNormal (TVector3 &normal, boolean smoothed=true)=0
virtual void MCCOMAPI GetVertexNormal (TVector3 &normal, int32 vertexIndex)=0
virtual void MCCOMAPI GetCenter (TVector3 &center)=0
virtual IPolygon *MCCOMAPI Subdivide (I3DExVertex *v1, I3DExVertex *v2)=0
virtual void MCCOMAPI Subdivide (ETesselateMode mode)=0
virtual IEdge *MCCOMAPI GetOtherEdge (I3DExVertex *vertex, IEdge *edge)=0
virtual IPolygon *MCCOMAPI CloneConjugate ()=0
virtual boolean MCCOMAPI GetBestPlane2 (TVector3 &ii, TVector3 &jj, TVector3 &kk, TVector3 &center)=0
virtual void MCCOMAPI ClassifyPolygon (IPolymesh *object)=0
virtual void MCCOMAPI GetName (char *name)=0
virtual void MCCOMAPI SetName (char *name)=0
virtual void MCCOMAPI GetFacetInfo (int32 index, int32 *info)=0
virtual uint32 MCCOMAPI GetSmoothingID ()=0
virtual int16 MCCOMAPI GetShadingDomainID ()=0
virtual void MCCOMAPI SetShadingDomainID (int16 id)=0
virtual int32 MCCOMAPI GetUVIndexForVertex (int32 vertexIndexInPolygon)=0
virtual int32 MCCOMAPI GetUVIndexForVertex (I3DExVertex *vertex)=0
virtual void MCCOMAPI SetUVIndexForVertex (int32 vertexIndex, int32 uvIndex)=0
virtual void MCCOMAPI SetUVIndexForVertex (I3DExVertex *vertex, int32 uvIndex)=0
virtual void MCCOMAPI SetMarker (int32 marker)=0
virtual int32 MCCOMAPI GetMarker ()=0
virtual int32 MCCOMAPI GetVertexIndex (const I3DExVertex *vertex)=0
virtual void MCCOMAPI Hide (boolean hide)=0
virtual boolean MCCOMAPI Hidden ()=0
virtual IPolygon *MCCOMAPI GetSymmetricalPolygon ()=0
 Gets the symmetrical polygon if any in the mesh and if the symmetrical modeling is enabled.
int32 GetNbEdges ()

Detailed Description

A Polygon is the basic 3D primitive that make up a Polymesh. The have at least 3 vertices, but can have more. Polygons with more than three vertices will be tessellated into triangular facets for display. Polygons as viewed in the plane from above the normal have vertices numbered clockwise.

See also:
{ IEdge IPolymesh }

Member Function Documentation

virtual void MCCOMAPI IPolygon::ClassifyPolygon ( IPolymesh object  )  [pure virtual]

This function Classifies the Polygon with respect to the Polymesh passed in the parameter. Used internally for Boolean operations. Do not use elsewhere.

Parameters:
object A pointer to the Polymesh with which to classify this Polygon.
virtual IPolygon* MCCOMAPI IPolygon::CloneConjugate (  )  [pure virtual]

Accessor to this Polygon's clone conjugate. Vertex Modeler specific, generally should not be used elsewhere.

Returns:
A pointer to the Clone Conjugate of this Polygon
virtual void MCCOMAPI IPolygon::Delete (  )  [pure virtual]

Removes this Polygon from its Polymesh and deletes it.

virtual int32 MCCOMAPI IPolygon::FacetCount (  )  [pure virtual]

Returns number of facets in the polygon.

Returns:
Number of facets in the polygon.
virtual boolean MCCOMAPI IPolygon::GetBestPlane ( TVector3 ii,
TVector3 jj,
TVector3 kk,
TVector3 center 
) [pure virtual]

This function calculates ii, jj, and kk - an orthogonal basis for a plane approximation of the Polygon. Also computes a centroid for the vertices of the Polygon. This version of the function verifies that kk is pointing the same direction as the Polygon's normal, and flips the resulting plane if necessary.

Parameters:
ii Returns a basis vector
jj Returns a basis vector
kk Returns a basis vector
center Returns the centroid
Returns:
True if the operation succeeded and the output parameters contain correct results.
virtual boolean MCCOMAPI IPolygon::GetBestPlane2 ( TVector3 ii,
TVector3 jj,
TVector3 kk,
TVector3 center 
) [pure virtual]

This function calculates ii, jj, and kk - an orthogonal basis for a plane approximation of the Polygon. Also computes a centroid for the vertices of the Polygon.

Parameters:
ii Returns a basis vector
jj Returns a basis vector
kk Returns a basis vector
center Returns the centroid
Returns:
True if the operation succeeded and the output parameters contain correct results.
virtual const int32 MCCOMAPI IPolygon::GetBooleanClassification (  )  [pure virtual]

The Boolean Classification field is an auxilliary field used to store an extra number associated with the Polygon. Do not rely on its being initialized, but you can initialize it and then use it. GetBooleanClassification gets the field for this Polygon.

Returns:
The value stored in this Polygon's Boolean Classification field
virtual void MCCOMAPI IPolygon::GetBoundingBox ( TBBox3D bbox  )  [pure virtual]

Calculates the 3D bounding box of the Polygon

Parameters:
bbox Returns the bounding box
virtual void MCCOMAPI IPolygon::GetCenter ( TVector3 center  )  [pure virtual]

Returns the barycenter of the Polygon

Parameters:
center Returns the barycenter of the Polygon
virtual IEdge* MCCOMAPI IPolygon::GetEdge ( int32  indexInPolygon  )  [pure virtual]

Returns the indexed edge of the polygon

Parameters:
indexInPolygon The index of the edge to get
Returns:
A pointer to the Edge indexed, or NULL if the index is out of range
virtual IFacet* MCCOMAPI IPolygon::GetFacet ( int32  indexInPolygon  )  [pure virtual]

Returns the indexed facet in the polygon

Parameters:
indexInPolygon The index of the Facet to get
Returns:
A pointer to the Facet indexed, or NULL if the index is out of range
virtual void MCCOMAPI IPolygon::GetFacetInfo ( int32  index,
int32 *  info 
) [pure virtual]

When passed an index to a facet in the Polygon, fills the array at info with the indices of the vertices in that facet.

Parameters:
index Index of the facet in question
info pointer to int32[3] to hold vertex indices
virtual int32 MCCOMAPI IPolygon::GetMarker (  )  [pure virtual]

Gets the polygon's marker Can be used to remember where the poly is coming from when importing an object

virtual void MCCOMAPI IPolygon::GetName ( char *  name  )  [pure virtual]

Gets a pointer to a C string name for the Polygon. Do not use.

Parameters:
name Returns a pointer to a string containing a name for this Polygon
int32 IPolygon::GetNbEdges (  )  [inline]
virtual int32 MCCOMAPI IPolygon::GetNbVertices (  )  const [pure virtual]
Returns:
The number of vertices in the polygon (which will equal the number of edges).
virtual void MCCOMAPI IPolygon::GetNormal ( TVector3 normal,
boolean  smoothed = true 
) [pure virtual]

Returns the normal to the Polygon.

Parameters:
normal Returns the normalized vector normal to the Polygon
smoothed If true, smoothing of the edges will affect the normal computation
virtual IEdge* MCCOMAPI IPolygon::GetOtherEdge ( I3DExVertex vertex,
IEdge edge 
) [pure virtual]

Given an edge and a vertex attached to the edge, will return the other edge attached to that vertex.

Parameters:
vertex A pointer to a Vertex in the Polygon
edge A pointer to an Edge in the Polygon that contains vertex
Returns:
A pointer to the other Edge attached to vertex
virtual void MCCOMAPI IPolygon::GetPolymesh ( IPolymesh **  iPolymesh  )  [pure virtual]

Gets the Polymesh to which this Polygon belongs

Parameters:
iPolymesh Returns the Polymesh
virtual boolean MCCOMAPI IPolygon::GetSelection ( boolean  useSymmetry = false  )  [pure virtual]
Returns:
True if the Polygon is selected
virtual int16 MCCOMAPI IPolygon::GetShadingDomainID (  )  [pure virtual]
Returns:
The shading domain ID for this Polygon
virtual uint32 MCCOMAPI IPolygon::GetSmoothingID (  )  [pure virtual]
Returns:
The smoothing ID for this Polygon
virtual IPolygon* MCCOMAPI IPolygon::GetSymmetricalPolygon (  )  [pure virtual]

Gets the symmetrical polygon if any in the mesh and if the symmetrical modeling is enabled.

virtual int32 MCCOMAPI IPolygon::GetUVIndexForVertex ( I3DExVertex vertex  )  [pure virtual]

Accessor for the index of the UV in the UV List of the vertex to use with the Vertex in this Polygon. Note that this version is slower than the one passed an index to the Vertex in the Polygon.

Parameters:
vertex Pointer to a Vertex in the Polygon
Returns:
The UV index to use, or -1 if not found.
virtual int32 MCCOMAPI IPolygon::GetUVIndexForVertex ( int32  vertexIndexInPolygon  )  [pure virtual]

Accessor for the index of the UV in the UV List of the vertex to use with the Vertex in this Polygon.

Parameters:
vertexIndexInPolygon Index of the vertex in the Polygon
Returns:
The UV index to use, or -1 if not found.
virtual I3DExVertex* MCCOMAPI IPolygon::GetVertex ( int32  indexInPolygon  )  [pure virtual]

Returns the indexed vertex of the polygon

Parameters:
indexInPolygon The index of the vertex to get
Returns:
A pointer to the vertex indexed, or NULL if the index is out of range
virtual int32 MCCOMAPI IPolygon::GetVertexIndex ( const I3DExVertex vertex  )  [pure virtual]

Returns the index of the vertex in the polygon Returns kUnusedIndex if the vertex isn't used by the polygon.

virtual void MCCOMAPI IPolygon::GetVertexNormal ( TVector3 normal,
int32  vertexIndex 
) [pure virtual]

Returns the normal for the indexed vertex in this Polygon

Parameters:
normal Returns the normal vector for the vertex
vertexIndex Index to the vertex
virtual boolean MCCOMAPI IPolygon::Hidden (  )  [pure virtual]
virtual void MCCOMAPI IPolygon::Hide ( boolean  hide  )  [pure virtual]
virtual void MCCOMAPI IPolygon::SetBooleanClassification ( const int32  classification  )  [pure virtual]

The Boolean Classification field is an auxilliary field used to store an extra number associated with the Polygon. Do not rely on its being initialized, but you can initialize it and then use it. SetBooleanClassification sets the field for this Polygon.

Parameters:
classification Value to store in the Boolean Classification
virtual void MCCOMAPI IPolygon::SetMarker ( int32  marker  )  [pure virtual]

Sets the polygon's marker (or index) Can be used to remember where the poly is coming from when importing an object

virtual void MCCOMAPI IPolygon::SetName ( char *  name  )  [pure virtual]

Sets the name of the Polygon from a C string. Do not use.

Parameters:
name A pointer to the string containing the name
virtual void MCCOMAPI IPolygon::SetSelection ( boolean  selected,
boolean  autoSelection = true 
) [pure virtual]

Sets the selection state of the Polygon.

Parameters:
selected If true, selects the Polygon. If false, deselects it.
autoSelection If true, completes the selection with neighboring selected vertices and edges
virtual void MCCOMAPI IPolygon::SetShadingDomainID ( int16  id  )  [pure virtual]

Sets the shading domain to use for this Polygon.

Parameters:
id The shading domain ID to use
virtual void MCCOMAPI IPolygon::SetUVIndexForVertex ( I3DExVertex vertex,
int32  uvIndex 
) [pure virtual]

Sets the index of the UV in the UV List of the Vertex to use by the Vertex in this Polygon. Note that this version is slower than the one passed an index to the Vertex in the Polygon.

Parameters:
vertex Pointer to the Vertex in the Polygon
uvIndex The UV index to use
virtual void MCCOMAPI IPolygon::SetUVIndexForVertex ( int32  vertexIndex,
int32  uvIndex 
) [pure virtual]

Sets the index of the UV in the UV List of the Vertex to use by the Vertex in this Polygon.

Parameters:
vertexIndex Index of the Vertex in the Polygon
uvIndex The UV index to use
virtual void MCCOMAPI IPolygon::Subdivide ( ETesselateMode  mode  )  [pure virtual]

Subdivides the Polygon according to the mode specified in the parameter. See VMTypes.h for the list of Subdivision modes.

Parameters:
mode Tessellation mode to use in subdividing
virtual IPolygon* MCCOMAPI IPolygon::Subdivide ( I3DExVertex v1,
I3DExVertex v2 
) [pure virtual]

This Subdivide function divides the Polygon into two by creating an edge between v1 and v2.

Parameters:
v1 First vertex to split along
v2 Second vertex to split along
Returns:
A pointer to the new Polygon created.
virtual void MCCOMAPI IPolygon::Triangulate (  )  [pure virtual]

Triangulates this Polygon, regardless of selection state.


The documentation for this struct was generated from the following file:
Generated on Mon Apr 26 22:47:50 2010 for Carrara SDK Doc by  doxygen 1.6.3