Click or drag to resize
Ab4d.SharpEngine logo

EdgeLinesFactory Class

EdgeLinesFactory can generated edge lines where the angle between two adjacent triangles is bigger then the specified angle.
Inheritance Hierarchy
SystemObject
  Ab4d.SharpEngine.UtilitiesEdgeLinesFactory

Namespace: Ab4d.SharpEngine.Utilities
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 2.0.8956+4c7684e186ca1be74e7a284fbe739d9a1b843d3c
Syntax
C#
public class EdgeLinesFactory

The EdgeLinesFactory type exposes the following members.

Constructors
 NameDescription
Public methodEdgeLinesFactory Constructor
Top
Properties
 NameDescription
Public propertyAddMeshOuterEdges When true (by default) then edge lines are generated for edges that do not have any adjacent triangle and define the mesh outer edge.
Public propertyCacheIntermediateObjects 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.
Public propertyProcessDuplicatePositions 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.
Public propertyProcessPartiallyCoveredEdges 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.
Top
Methods
 NameDescription
Public methodAddEdgeLines AddEdgeLines method collects the edge lines and adds their start and end positions to the linePositions collection from the specified sceneNode and its children. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees.
Public methodCreateEdgeLineIndices CreateEdgeLineIndices method returns list of positions indices that define the edge lines for the specified positions and triangleIndices. 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.
Public methodCreateEdgeLines CreateEdgeLines method returns a List with edge line position (each edge line is defined by its start and end position). The edge lines are generated for the specified sceneNode and its children. The edge lines are created if angle in degrees between two adjacent triangles is bigger then the specified edgeStartAngleInDegrees.
Top
See Also