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: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
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.
Public methodStatic memberAddWireframeLinePositions 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 HashSet (to reuse it it is possible to provide its instance) 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 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 methodStatic memberCreateEdgeLinesForEachSceneNode(SceneNode, Single, Single, Color4, GroupNode, Transform) CreateEdgeLinesForEachSceneNode creates one MultiLineNode with edge lines for each ModelNode in the 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 methodStatic memberGenerateEdgeLineIndices GenerateEdgeLineIndices method sets the EdgeLineIndices data channel on all the meshes in the specified sceneNode and its children.
Public methodStatic memberGetNormalLinePositions Gets an array of Vector3 positions that define normal vector lines for the specified mesh.
Public methodStatic memberGetWireframeLinePositions(Mesh, Boolean, Transform) 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) 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