C# 클래스 HelixToolkit.Wpf.MeshGeometryHelper

Provides helper methods for mesh geometries.
파일 보기 프로젝트 열기: litdev1/LitDev 1 사용 예제들

공개 메소드들

메소드 설명
CalculateNormals ( IList positions, IList triangleIndices ) : System.Windows.Media.Media3D.Vector3DCollection

Calculates the normal vectors.

CalculateNormals ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Media3D.Vector3DCollection

Calculates the normal vectors.

CombineSegments ( IList segments, double eps ) : IEnumerable>

Combines the segments.

Cut ( System.Windows.Media.Media3D.MeshGeometry3D mesh, System.Windows.Media.Media3D.Point3D p, System.Windows.Media.Media3D.Vector3D n ) : System.Windows.Media.Media3D.MeshGeometry3D

Cuts the mesh with the specified plane.

FindBorderEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Int32Collection

Finds edges that are only connected to one triangle.

FindEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Int32Collection

Finds all edges in the mesh (each edge is only included once).

FindSharpEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh, double minimumAngle ) : System.Windows.Media.Int32Collection

Finds all edges where the angle between adjacent triangle normal vectors. is larger than minimumAngle

GetContourSegments ( System.Windows.Media.Media3D.MeshGeometry3D mesh, System.Windows.Media.Media3D.Point3D p, System.Windows.Media.Media3D.Vector3D n ) : IList

Gets the contour segments.

NoSharedVertices ( System.Windows.Media.Media3D.MeshGeometry3D input ) : System.Windows.Media.Media3D.MeshGeometry3D

Creates a new mesh where no vertices are shared.

Simplify ( System.Windows.Media.Media3D.MeshGeometry3D mesh, double eps ) : System.Windows.Media.Media3D.MeshGeometry3D

Simplifies the specified mesh.

Validate ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : void

Validates the specified mesh.

비공개 메소드들

메소드 설명
CreateKey ( uint i0, uint i1 ) : ulong

Create a 64-bit key from two 32-bit indices

FindConnectedSegment ( IList segments, System.Windows.Media.Media3D.Point3D point, double eps ) : int

Finds the nearest connected segment to the specified point.

ReverseKey ( ulong key, uint &i0, uint &i1 ) : void

Extract two 32-bit indices from the 64-bit key

메소드 상세

CalculateNormals() 공개 정적인 메소드

Calculates the normal vectors.
public static CalculateNormals ( IList positions, IList triangleIndices ) : System.Windows.Media.Media3D.Vector3DCollection
positions IList /// The positions. ///
triangleIndices IList /// The triangle indices. ///
리턴 System.Windows.Media.Media3D.Vector3DCollection

CalculateNormals() 공개 정적인 메소드

Calculates the normal vectors.
public static CalculateNormals ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Media3D.Vector3DCollection
mesh System.Windows.Media.Media3D.MeshGeometry3D /// The mesh. ///
리턴 System.Windows.Media.Media3D.Vector3DCollection

CombineSegments() 공개 정적인 메소드

Combines the segments.
public static CombineSegments ( IList segments, double eps ) : IEnumerable>
segments IList /// The segments. ///
eps double /// The tolerance. ///
리턴 IEnumerable>

Cut() 공개 정적인 메소드

Cuts the mesh with the specified plane.
public static Cut ( System.Windows.Media.Media3D.MeshGeometry3D mesh, System.Windows.Media.Media3D.Point3D p, System.Windows.Media.Media3D.Vector3D n ) : System.Windows.Media.Media3D.MeshGeometry3D
mesh System.Windows.Media.Media3D.MeshGeometry3D /// The mesh. ///
p System.Windows.Media.Media3D.Point3D /// The plane origin. ///
n System.Windows.Media.Media3D.Vector3D /// The plane normal. ///
리턴 System.Windows.Media.Media3D.MeshGeometry3D

FindBorderEdges() 공개 정적인 메소드

Finds edges that are only connected to one triangle.
public static FindBorderEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Int32Collection
mesh System.Windows.Media.Media3D.MeshGeometry3D /// A mesh geometry. ///
리턴 System.Windows.Media.Int32Collection

FindEdges() 공개 정적인 메소드

Finds all edges in the mesh (each edge is only included once).
public static FindEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : System.Windows.Media.Int32Collection
mesh System.Windows.Media.Media3D.MeshGeometry3D /// A mesh geometry. ///
리턴 System.Windows.Media.Int32Collection

FindSharpEdges() 공개 정적인 메소드

Finds all edges where the angle between adjacent triangle normal vectors. is larger than minimumAngle
public static FindSharpEdges ( System.Windows.Media.Media3D.MeshGeometry3D mesh, double minimumAngle ) : System.Windows.Media.Int32Collection
mesh System.Windows.Media.Media3D.MeshGeometry3D /// A mesh geometry. ///
minimumAngle double /// The minimum angle between the normal vectors of two adjacent triangles (degrees). ///
리턴 System.Windows.Media.Int32Collection

GetContourSegments() 공개 정적인 메소드

Gets the contour segments.
public static GetContourSegments ( System.Windows.Media.Media3D.MeshGeometry3D mesh, System.Windows.Media.Media3D.Point3D p, System.Windows.Media.Media3D.Vector3D n ) : IList
mesh System.Windows.Media.Media3D.MeshGeometry3D /// The mesh. ///
p System.Windows.Media.Media3D.Point3D /// The plane origin. ///
n System.Windows.Media.Media3D.Vector3D /// The plane normal. ///
리턴 IList

NoSharedVertices() 공개 정적인 메소드

Creates a new mesh where no vertices are shared.
public static NoSharedVertices ( System.Windows.Media.Media3D.MeshGeometry3D input ) : System.Windows.Media.Media3D.MeshGeometry3D
input System.Windows.Media.Media3D.MeshGeometry3D /// The input mesh. ///
리턴 System.Windows.Media.Media3D.MeshGeometry3D

Simplify() 공개 정적인 메소드

Simplifies the specified mesh.
public static Simplify ( System.Windows.Media.Media3D.MeshGeometry3D mesh, double eps ) : System.Windows.Media.Media3D.MeshGeometry3D
mesh System.Windows.Media.Media3D.MeshGeometry3D /// The mesh. ///
eps double /// The tolerance. ///
리턴 System.Windows.Media.Media3D.MeshGeometry3D

Validate() 공개 정적인 메소드

Validates the specified mesh.
public static Validate ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : void
mesh System.Windows.Media.Media3D.MeshGeometry3D /// The mesh. ///
리턴 void