Click or drag to resize
Ab4d.SharpEngine logo

LineUtils Class

LineUtils class defines static methods that can be used to create wireframe lines, normal lines and edge lines.
Inheritance Hierarchy
SystemObject
  Ab4d.SharpEngine.UtilitiesLineUtils

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

The LineUtils type exposes the following members.

Methods
 NameDescription
Public methodStatic memberAddEdgeLinePositions AddEdgeLinePositions 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. To set advanced settings on how edge lines are created, use the EdgeLinesFactory class (this class is also internally used by this method).
Public methodStatic memberAddWireframeLinePositions(ListVector3, Mesh, Boolean, Transform, HashSetUInt64) Adds positions that define wireframe lines for the specified mesh. The positions are added to existing linePositions list. When removedDuplicateLines is true, then only one line will be created for each edge between two triangles. This requires additional processing and use of a HashSet (to reuse it, then provide an instance in distinctLinesHashSet parameter) but is faster to render because less wireframe lines are added.
Public methodStatic memberAddWireframeLinePositions(ListVector3, Mesh, Matrix4x4, Boolean, HashSetUInt64) Adds positions that define wireframe lines for the specified mesh. The positions are added to existing linePositions list. When removedDuplicateLines is true, then only one line will be created for each edge between two triangles. This requires additional processing and use of a HashSet (to reuse it, then provide an instance in distinctLinesHashSet parameter) but is faster to render because less wireframe lines are added.
Public methodStatic memberClearEdgeLineIndices ClearEdgeLineIndices method clears the EdgeLineIndices calculated edge lines in the specified sceneNode and its children.
Public methodStatic memberCreateEdgeLinesForEachSceneNode(SceneNode, Single, LineMaterial, GroupNode, Transform) CreateEdgeLinesForEachSceneNode creates one MultiLineNode with edge lines for each ModelNode in 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. To set advanced settings on how edge lines are created, use the EdgeLinesFactory class (this class is also internally used by this method).
Public methodStatic memberCreateEdgeLinesForEachSceneNode(SceneNode, Single, Single, Color4, GroupNode, Transform) CreateEdgeLinesForEachSceneNode creates one MultiLineNode with edge lines for each ModelNode in 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. To set advanced settings on how edge lines are created, use the EdgeLinesFactory class (this class is also internally used by this method).
Public methodStatic memberGenerateEdgeLineIndices GenerateEdgeLineIndices method sets the EdgeLineIndices data channel on all the meshes in the specified sceneNode and its children. To set advanced settings on how edge lines are created, use the EdgeLinesFactory class (this class is also internally used by this method).
Public methodStatic memberGetNormalLinePositions(Mesh, Matrix4x4, Single) Gets an array of Vector3 positions that define normal vector lines for the specified mesh.
Public methodStatic memberGetNormalLinePositions(Mesh, Single, Transform) Gets an array of Vector3 positions that define normal vector lines for the specified mesh.
Public methodStatic memberGetWireframeLinePositions(Mesh, Boolean, Transform, HashSetUInt64) Gets an array of Vector3 positions that define wireframe lines for the specified mesh. When removedDuplicateLines is true, then only one line will be created for each edge between two triangles. This requires additional processing but is faster to render because less wireframe lines are returned.
Public methodStatic memberGetWireframeLinePositions(SceneNode, Boolean, Transform, HashSetUInt64) Gets an array of Vector3 positions that define wireframe lines for the specified SceneNode (and its child SceneNodes in case a GroupNode is set as parameter). When removedDuplicateLines is true, then only one line will be created for each edge between two triangles. This requires additional processing but is faster to render because less wireframe lines are returned.
Top
See Also