Poly

ILxSUBDPolyType

class ILxSUBDPolyType

Public Functions

LxResult GetCorner(LXtObjectID self, LXtPointID pnt, LXtFVector pos)

The SDK interface is a polymorphic interface of the mesh. It’s the only way to get the quad patch directly.

LxResult GetQuad(LXtObjectID self, LXtPolygonID pol, unsigned int index, LXtFVector qp[9])

ILxSubdivision

class ILxSubdivision

Public Functions

LxResult Validate(LXtObjectID self, LXtObjectID mesh)

Subdivision object provides the interface to use external subdivision engine for PSUB polygon type. The PSUB polygon type calculates subdivision points by this object while it is set instead of internal methods. Generates topological net for subdivision surface with cage polygons in the given mesh.

LxResult Refine(LXtObjectID self, LXtObjectID mesh)

Update position and normal buffer with new cage vertex positions in the give mesh.

void InvalidateTopology(LXtObjectID self)

Invalidate the stat to update topology at “Validate”.

void InvalidatePosition(LXtObjectID self)

Invalidate the stat to update position at “Validate”.

int Status(LXtObjectID self)

Return the current status for validation

int MaxLevel(LXtObjectID self)
int SetMaxLevel(LXtObjectID self, int level)
int BoundaryRule(LXtObjectID self)
int SetBoundaryRule(LXtObjectID self, int bound)
int UVBoundaryRule(LXtObjectID self)
int SetUVBoundaryRule(LXtObjectID self, int bound)
int Scheme(LXtObjectID self)
int SetScheme(LXtObjectID self, int scheme)
int Backend(LXtObjectID self)
int SetBackend(LXtObjectID self, int backend)
int Adaptive(LXtObjectID self)
int SetAdaptive(LXtObjectID self, int adaptive)
int NumFaces(LXtObjectID self)

Returns total number of faces for all levels.

int FaceDepth(LXtObjectID self, int faceIndex)

Returns the depth of the given face.

int NumVerticesOfFace(LXtObjectID self, int faceIndex)

Returns number of vertex in the given face.

int VertexOfFace(LXtObjectID self, int faceIndex, int vertofface)

Returns vertex ID of the vertex of face.

int NumLevelFaces(LXtObjectID self, int level)

Returns number of face for the given level.

int FirstFaceOffset(LXtObjectID self, int level)

Return face offset at the top of the level.

int ChildFace(LXtObjectID self, int faceIndex, int vertOfFace)

Returns child face ID of the vertex of face. If not, it returns -1.

int ParentFace(LXtObjectID self, int faceIndex)

Returns the parent face ID. If not, it returns -1.

LXtPolygonID PolygonID(LXtObjectID self, int faceIndex)

Returns the source polygon ID of the face.

int PolygonFace(LXtObjectID self, LXtPolygonID polyID)

Returns the face ID at the top level from the given polygon.

int NumVertices(LXtObjectID self)

Returns total number of vertices.

int NumLevelVertices(LXtObjectID self, int level)

Returns number of vertices for the given level.

int FirstVertexOffset(LXtObjectID self, int level)

Return vertex offset at the top of the level.

int ParentVertex(LXtObjectID self, int vertIndex)

Return vertex position of the given vertex.

float *VertexPosition(LXtObjectID self, int vertIndex)

Return vertex position of the given vertex.

float *VertexNormal(LXtObjectID self, int vertIndex)

Return vertex normal vector of the given vertex.

int AddUVMap(LXtObjectID self, const char *name)

Add the name of uv texture map to subdivide. It returns the entry index number. If set null, to reset thelist of texture name.

int NumUVMap(LXtObjectID self)

Return the number of texture map in the current name list.

const char *UVMapName(LXtObjectID self, int mapIndex)

Return the name for texture map given by index.

int LookupUVMap(LXtObjectID self, const char *name)

Return the index number for the given texture map. If nothing, it returns -1.

float *GetUV(LXtObjectID self, int mapIndex, int faceIndex, int vertOfFace)

Return the pointer of UV value for the given vert of face at the current level for the given uv texture map.

  • LXfSUBD_STATUS_VALID

  • LXfSUBD_STATUS_POSITION

  • LXfSUBD_STATUS_TOPOLOGY

  • LXiSUBD_BOUND_NONE

  • LXiSUBD_BOUND_EDGEONLY

  • LXiSUBD_BOUND_EDGEANDCORNER

  • LXiSUBD_BOUND_ALWAYSSHARP

  • LXiSUBD_SCHEME_CATMARK

  • LXiSUBD_SCHEME_LOOP

  • LXiSUBD_SCHEME_BILINEAR

  • LXiSUBD_BACKEND_CPU

  • LXiSUBD_BACKEND_OPENCL

  • LXiSUBD_BACKEND_CUDA