Mesh 类
内容
[
隐藏
]Mesh class
网格由许多 n 边多边形组成。
public class Mesh : Geometry, IEnumerable<int[]>, IMeshConvertible
构造函数
| 名称 | 描述 |
|---|---|
| Mesh() | 初始化 Mesh 类的新实例。 |
| Mesh(string) | 初始化 Mesh 类的新实例。 |
| Mesh(TextureData) | 使用指定的高度图构建网格,如果高度图的像素格式包含多个分量,则使用第一个(通常是红色)分量作为高度值 (z)。控制点的 x 和 y 分量为归一化像素坐标。 |
| Mesh(TextureData, Matrix4) | 使用指定的高度图构建网格,如果高度图的像素格式包含多个分量,则使用第一个(通常是红色)分量作为高度值 (z)。控制点的 x 和 y 分量为归一化像素坐标。 |
| Mesh(TextureData, bool, Matrix4) | 使用指定的高度图构建网格,如果高度图的像素格式包含多个分量,则使用第一个(通常是红色)分量作为高度值 (z)。控制点的 x 和 y 分量为归一化像素坐标。 |
属性
| 名称 | 描述 |
|---|---|
| CastShadows { get; set; } | 获取或设置此几何体是否可以投射阴影 |
| ControlPoints { get; } | 获取所有控制点 |
| Deformers { get; } | 获取与此几何体关联的所有变形器。 |
| Edges { get; } | 获取 Mesh 的边。网格中的 Edge 是可选的,因此可能为空。 |
| Excluded { get; set; } | 获取或设置在导出时是否排除此实体。 |
| virtual Name { get; set; } | 获取或设置名称。 |
| ParentNode { get; set; } | 获取或设置第一个父节点,如果设置了第一个父节点,则此实体将从其他父节点分离。 |
| ParentNodes { get; } | 获取所有父节点,实体可以附加到多个父节点以实现几何实例化 |
| PolygonCount { get; } | 获取多边形的数量 |
| Polygons { get; } | 获取网格的多边形定义 |
| Properties { get; } | 获取所有属性的集合。 |
| ReceiveShadows { get; set; } | 获取或设置此几何体是否可以接收阴影。 |
| Scene { get; } | 获取此对象所属的场景 |
| VertexElements { get; } | 获取所有顶点元素 |
| Visible { get; set; } | 获取或设置几何体是否可见 |
方法
| 名称 | 描述 |
|---|---|
| static DoBoolean(BooleanOperation, Mesh, Matrix4?, Mesh, Matrix4?) | |
| AddElement(VertexElement) | 向当前几何体添加已有的顶点元素 |
| CreateElement(VertexElementType) | 创建具有指定类型的顶点元素并将其添加到几何体中。 |
| CreateElement(VertexElementType, MappingMode, ReferenceMode) | 创建具有指定类型的顶点元素并将其添加到几何体中。 |
| CreateElementUV(TextureMapping) | 创建一个具有给定纹理映射类型的VertexElementUV。 |
| CreateElementUV(TextureMapping, MappingMode, ReferenceMode) | 创建一个具有给定纹理映射类型的VertexElementUV。 |
| CreatePolygon(int[]) | 使用 indices 中定义的所有顶点创建一个新多边形。若要逐顶点创建多边形,请使用PolygonBuilder。 |
| CreatePolygon(int, int, int) | 创建一个具有3个顶点的多边形(三角形) |
| CreatePolygon(int[], int, int) | 使用 indices 中定义的所有顶点创建一个新多边形。若要逐顶点创建多边形,请使用PolygonBuilder。 |
| CreatePolygon(int, int, int, int) | 创建一个具有4个顶点的多边形(四边形) |
| FindProperty(string) | 查找属性。它可以是动态属性(由 CreateDynamicProperty/SetProperty 创建)或本地属性(通过其名称识别) |
| GetBoundingBox() | 获取当前实体在其对象空间坐标系中的包围盒。 |
| GetDeformers<T>() | |
| GetElement(VertexElementType) | 获取具有指定类型的顶点元素 |
| virtual GetEntityRendererKey() | 获取在渲染器中注册的实体渲染器的键 |
| GetEnumerator() | 获取每个内部多边形的枚举器。 |
| GetPolygonSize(int) | 获取指定多边形的顶点数量。 |
| GetProperty(string) | 获取指定属性的值 |
| GetVertexElementOfUV(TextureMapping) | 获取具有给定纹理映射类型的VertexElementUV实例 |
| IsManifold() | 检查当前网格是否为流形网格。此函数不会缓存流形计算结果。 |
| Optimize(bool) | 通过消除重复的控制点来优化网格的内存使用。 |
| Optimize(bool, float, float, float) | 通过消除重复的控制点来优化网格的内存使用。 |
| RemoveProperty(Property) | 移除动态属性。 |
| RemoveProperty(string) | 移除通过名称识别的指定属性 |
| SetProperty(string, object) | 设置指定属性的值 |
| ToMesh() | 从当前实体获取 Mesh 实例。 |
| Triangulate() | 返回三角化后的网格 |
| operator & | 计算两个网格的交集 |
| operator | | 计算两个网格的并集 |
| operator - | 计算两个网格的差集 |
示例
在网格中添加多边形:
Mesh mesh = new Mesh();
int[] indices = new int[] {0, 1, 2};
mesh.CreatePolygon(indices);
遍历网格中的所有多边形:
Mesh mesh = new Mesh();
foreach(int[] polygon in mesh)
{
//处理多边形
}
另请参见
- class Geometry
- interface IMeshConvertible
- namespace Aspose.ThreeD.Entities
- assembly Aspose.3D