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. The PatchObject is the object that flows down the 3ds Max geometry pipeline. This object stores a PatchMesh as well as a Mesh cache. This is similar to the way a TriObject has a Mesh. The TriObject provides methods to manage the operations associated with flowing down the pipeline, while the Mesh stores the vertex, edge and face information. In the PatchObject case, the PatchObject provides methods for working with the pipeline while the Mesh cache is used for display in the viewports.
- PatchMesh - A PatchMesh 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 regular TriObject 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 - A Patch is like a fast face, and the PatchMesh is like the Mesh. The Patch 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 the TVFace class used with a Mesh.