Edge |
public class EdgeLinesFactory
The EdgeLinesFactory type exposes the following members.
Name | Description | |
---|---|---|
EdgeLinesFactory | Constructor |
Name | Description | |
---|---|---|
AddMeshOuterEdges | When true (by default) then edge lines are generated for edges that do not have any adjacent triangle and define the mesh outer edge. | |
CacheIntermediateObjects | When true (by default) then intermediate objects that are required for edge lines generation are preserved from processing of the previous meshes. This reduces the memory requirements and number of garbage collections. | |
ProcessDuplicatePositions | When true (by default) then the mesh is first processed so that all duplicate positions (positions that have same x, y and z coordinates) are combined. Duplicate positions are very common because they are required to create sharp edges by defining different normals for each position. If you are sure that your mesh does not have duplicate positions, then you can set ProcessDuplicatePositions to false to significantly improve the performance of edge generation. | |
ProcessPartiallyCoveredEdges | When true (by default) then the EdgeLinesFactory executes an algorithm to processes meshes that have triangle with edges that may have multiple connected triangles that fully or only partially covert the triangle edges. If you are sure that the mesh have nicely defined triangles where each triangle edge is fully covered by any adjacent triangle edge (except on the outer mesh borders), then you can set ProcessPartiallyCoveredEdges to false to significantly improve the performance of edge generation. |
Name | Description | |
---|---|---|
AddEdgeLinePositions | AddEdgeLinePositions method goes through all GeometryModel3D objects in the specified model3D hierarchy and collects the edge lines and adds their start and end positions to the linePositions collection. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. | |
AddEdgeLines | AddEdgeLinePositions method goes through all GeometryModel3D objects in the specified model3D hierarchy and collects the edge lines and adds their start and end positions to the linePositions collection. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. | |
ClearEdgeLineIndices | ClearEdgeLineIndices method clears the EdgeLineIndicesProperty and EdgeMultiLineVisual3DProperty DependencyProperty values in the specified model3D and all its children. | |
CreateEdgeLinesForEachGeometryModel3D | CreateEdgeLinesForEachGeometryModel3D method goes through all GeometryModel3D objects in the specified model3D hierarchy and creates one MultiLineVisual3D for each GeometryModel3D. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. | |
GenerateEdgeLineIndices | GenerateEdgeLineIndices method goes through all GeometryModel3D objects in the specified model3D hierarchy and for each MeshGeometry3D sets the EdgeLineIndicesProperty DependencyProperty to the list of edge lines that is created by this method. | |
GetEdgeLineIndices | GetEdgeLineIndices method returns list of positions indices that define the edge lines for the specified meshGeometry3D and edgeStartAngleInDegrees. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. | |
GetEdgeLines | GetEdgeLines method returns a Point3DCollection with edge line position. The method goes through all GeometryModel3D objects in the specified model3D hierarchy and collects the edge lines and adds their start and end positions to the linePositions collection. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. | |
SetEdgeLinesForEachGeometryModel3D | CreateEdgeLinesForEachGeometryModel3D method goes through all GeometryModel3D objects in the specified model3D hierarchy and creates one MultiLineVisual3D for each GeometryModel3D. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees, then an edge line is created between triangles. |
Name | Description | |
---|---|---|
EdgeMultiLineVisual3DProperty | EdgeMultiLineVisual3DProperty is a DependencyProperty that can be set to the GeometryModel3D object and specifies a MultiLineVisual3D object that is used to show edge lines. |