Principal Classes
The SDK provides the following classes for creating and manipulating patch objects.
PatchObject
- This is the base class for the creation of Patch Objects in 3ds Max. ThePatchObject
is the object that flows down the 3ds Max geometry pipeline. This object stores aPatchMesh
as well as aMesh
cache. This is similar to the way aTriObject
has aMesh
. TheTriObject
provides methods to manage the operations associated with flowing down the pipeline, while theMesh
stores the vertex, edge and face information. In thePatchObject
case, thePatchObject
provides methods for working with the pipeline while theMesh
cache is used for display in the viewports.PatchMesh
- APatchMesh
can be made up of any number of Patches. Each of these patches can be three or four sided. The topology of these patches are not quite as freeform as a regularTriObject
mesh. For example, in a normal triangle mesh you can have an edge that is used by any number of faces. However with patches, in order for the system to figure out how the topology is connected together, each edge can only be used by either one patch (which makes it an open edge), or two patches (which makes it a transitional edge between the two).Patch
- APatch
is like a fast face, and thePatchMesh
is like theMesh
. ThePatch
contains the vertices (three or four), and a set of vectors (six or eight) that go between the vertices (two per edge). There are also a set of vertices in the interior of the patch (three or four of these).PatchVec
- Represents a patch vector. This can be either an interior vector or an edge vector.PatchVert
- This class stores the information associated with a patch vertex and provides methods to access this data. This information includes the vertex location, a table of vectors attached to the patch, and a table of patches using the vertex.PatchEdge
- This class describes a patch edge using the vertices at the edge ends, and the indices of the patches sharing the edge.TVPatch
- This class is a texture vertex patch structure. This is similar to theTVFace
class used with aMesh
.