Package-level declarations
Types
Represents a compound mesh data structure containing multiple named sub-meshes and their associated shared vertex data. This class allows manipulation of grouped meshes as a single entity and provides methods for operations like triangulation and converting the meshes to a single data structure.
Represents a compound mesh data structure that combines multiple meshes and their associated vertex data.
Represents an indexed polygon in 3D space. The polygon is defined using indices referencing the various attributes (e.g., position, texture coordinates, normals) provided in an external vertex data.
Represents a polygon defined by indices corresponding to vertex data such as positions, texture coordinates, colors, normals, tangents, and bitangents. It can be used to describe a geometric shape for rendering or processing in 3D graphics or geometry applications.
Interface representing vertex data for 3D graphics. This includes attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents. It provides methods to convert the data to either immutable or mutable vertex data representations.
Represents data for a 3D mesh. Implements the IMeshData
interface and provides additional methods for manipulating and combining mesh data. This class is immutable and includes operations for triangulation, conversion to polygons, and joining multiple meshes.
A mutable implementation of a compound mesh data structure, combining vertex data and a set of named mesh compounds.
Represents a mutable 3D indexed polygon. This class allows modifications to its indices and provides functionality to transform vertex references into a corresponding polygon representation.
Represents mutable mesh data with modifiable vertex data and polygonal structure.
A mutable implementation of the IPolygon interface that represents a polygon in 3D space. This class allows modification of the polygon's attributes such as vertex positions, texture coordinates, colors, normals, tangents, and bitangents.
Mutable implementation of vertex data for 3D graphics. This class provides a container for vertex attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents with mutable backing lists. It allows modification of vertex data.
Represents a 3D point with optional attributes for texture coordinates, color, normal vector, tangent vector, and bitangent vector.
Represents a polygon in 3D space with immutable attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents. Provides methods to transform the polygon and convert it to a mutable version.
Immutable implementation of vertex data for 3D graphics. This class provides a container for vertex attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents.
Properties
Functions
Adds a Point to the vertex data by updating the corresponding mutable lists of vertex attributes. Each optional attribute of the point is only added if it is not null.
Calculates the bounding box of a list of indexed polygons using the specified vertex data.
Retrieves a Point instance from the vertex data at the specified indices. The indices allow access to positions, texture coordinates, colors, normals, tangents, and bitangents.
Checks if all polygons in the mesh are triangular.
Computes a Point
by interpolating vertex attributes from a 3D polygon using barycentric coordinates.
Computes the 3D position of a point in a polygon using barycentric coordinates.
Convert list of polygons to MeshData
Converts the vertex data into a MeshData representation by constructing the indexed polygons based on the vertex data attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents.
Converts the compound mesh data into a map of polygons grouped by their compound names.
Converts the vertex buffer into a list of polygons based on the provided vertex count. Each polygon is formed by grouping vertices into triangles.
Converts the compound mesh data into a single VertexBuffer for rendering.
Converts the current mesh data into a VertexBuffer representation, preparing geometry for rendering.
Converts the vertex data stored in the IVertexData instance to a VertexBuffer. The method iterates through the vertex attributes such as positions, normals, texture coordinates, and colors, and writes them sequentially into the provided or newly created VertexBuffer. Missing attributes are substituted with default values.
Welds the mesh data by consolidating vertices based on specified fractional bit precision for attributes such as positions, texture coordinates, colors, normals, tangents, and bitangents. This reduces redundant vertices and optimizes the mesh structure.