Click or drag to resize
AB4D logo

Ab3d.Utilities Namespace

Ab3d.Utilities namespace provide some utility classes that simplify event handling on 3D objects, control the displaying and updating of 3D lines, change 3D object shading, etc.
Classes
  ClassDescription
Public classBaseEventSource3D
Base class for all EventSource3D classes.
Public classBezierCurve
BezierCurve class is used to create a 3D Bezier curves.
Public classBitmapRendering
BitmapRendering class contains static methods that can render any FrameworkElement to bitmap.
Public classBSpline
BSpline class is used to create a 3D B-spline.
Public classCameraUtils
CameraUtils class contains some helper methods to work with Ab3d.Cameras.
Public classCompositionRenderingHelper
CompositionRenderingHelper class helps work with CompositionTarget.Rendering event with allowing subscribed objects to be collected by Garbage Collection and therefore preventing infinite rendering subscription in case when the Rendering is not unsubscribed.
Public classContourLinesFactory
ContourLinesFactory is a class that can be used to create Contour lines (sometimes also known as isolines). Contour lines connect positions with the same value. The values that will be used to create contour lines are defined in the class constructor.
Public classDumper
Dumper class is a helper class that contains methods to show information about Model3D or displays the positions, normals and texture coordinates of the MeshGeometry3D.
Public classDumperModelGroupCounters
ModelGroupCounters
Public classEdgeLinesFactory
EdgeLinesFactory class simplifies creation of edge lines for Model3D and Visual3D objects.
Public classCode exampleEventManager3D
EventManager3D class is a helper class that enables user to simply subscribe to mouse and touch events on 3D objects.
Public classLineSelectorData
LineSelectorData class can be used to get the closest distance of a specified screen position to the 3D line that is used to create an instance of LineSelectorData. When line or positions are transformed, then set the PositionsTransform3D property to apply the transformation.
Public classLinesUpdater
LinesUpdater class is a helper class that updates all the shown 3D Lines.
Public classMathUtils
MathUtils contains some math utility methods.
Public classMeshAnalyzer
MeshAnalyzer class can analyze the MeshGeometry3D and produce a list of Edges and Polygons (triangles) that define the mesh. MeshAnalyzer can also create edge lines that are created between triangles that have normal angles bigger than the specified angle.
Public classMeshBooleanOperations
MeshBooleanOperations static class defines methods that can execute subtract, intersect or union operations on 3D models.
Public classMeshUtils
MeshUtils class contains static methods that work with MeshGeometry3D.
Public classModelEventSource3D
ModelEventSource3D class is used to register a Model3D object to the EventManager3D.
Public classModelIterator
ModelIterator class allows easy iteration through complex 3D models hierarchies.
Public classModelOptimizer
ModelOptimizer can be used to optimize the Model3D or Visual3D so it can be drawn faster by WPF 3D.
Public classModelUtils
ModelUtils class contains static methods that work on Model3D.
Public classMultiModelEventSource3D
MultiModelEventSource3D class is used to register more than one Model3D object to the EventManager3D.
Public classMultiVisualEventSource3D
MultiVisualEventSource3D class is used to register more than one Visual3D object to the EventManager3D.
Public classPlanarShadowMeshCreator
PlanarShadowMeshCreator is a class that can be used to create a a planar shadow mesh.
Public classPlane
Plane struct defines a plane in form a*x + b*y + c*z + d = 0 or p*n + d = 0 (p is point; n is normal vector).
Public classShadingHelper
Class library that contains static methods for converting models into flat or smooth shaded models
Public classStandardTransform3D
StandardTransform3D is a class that generates a MatrixTransform3D based on the translate, rotate and scale transform. It can be used to have only a single transformation object for translate, rotate and scale. The MatrixTransform3D is available in the StandardTransform3D.Transform property. To assign the StandardTransform3D to a Model3D or Visual3D object it is recommended to use the static SetStandardTransform3D(Model3D, StandardTransform3D, Boolean) or SetStandardTransform3D(Visual3D, StandardTransform3D, Boolean) methods.
Public classTransformationsHelper
TransformationsHelper class contain methods that help to work with transformations, for example GetModelTotalTransform(Model3D, Model3D, Boolean).
Public classTransparencyHelper
TransparencyHelper class contains helper static methods that are used by transparency sorting.
Public classTransparencySorter
TransparencySorter class can be used to solve the problems with transparent objects in WPF 3D.
Public classTransparentModelIndexChangedEventArgs
TransparentModelIndexChangedEventArgs is used in for the TransparentModelIndexChanged event. It is used to notify which event was rearranged and from and to which position.
Public classTriangulator
Triangulator can be used to convert a polygon that is defined by a list of 2D points into triangles that can be than used to create 3D object.
Public classVisualEventSource3D
VisualEventSource3D class is used to register a Visual3D object to the EventManager3D.
Structures
  StructureDescription
Public structureMeshEdge
MeshEdge defines an edge in a 3D mesh. The edge is defined by StartPositionIndex and EndPositionIndex that represents two indexes in the mesh's positions collection. MeshEdge also defines indexes of polygons that use that edge.
Public structureMeshPolygon
MeshPolygon defines a polygon in a 3D mesh. Polygon is a collection of edges that lie on the same 3D plane. Because orientation of edges is important because it defines the front and back face, the MeshPolygon also defines the IsEdgeFlipped that specifies if edge is flipped (start and end are flipped).
Public structureMeshUtilsMesh3DInfo
Mesh3DInfo is a struct that is used by the CollectAllMeshes(Model3D, Transform3D) method and contains information about all 3D meshes in a Model3D hierarchy.
Interfaces
  InterfaceDescription
Public interfaceICompositionRenderingSubscriber
ICompositionRenderingSubscriber need to be implemented by a class that wants to subscribe to Rendering event with CompositionRenderingHelper.
Delegates
  DelegateDescription
Public delegateModelIteratorGeometryModel3DIteratorDelegate
GeometryModel3DIteratorDelegate defines GeometryModel3D and parent transform as parameters.
Public delegateModelIteratorModelVisual3DIteratorDelegate
ModelVisual3DIteratorDelegate defines ModelVisual3D and parent transform as parameters.
Public delegateTransparentModelIndexChangedEventHandler
Delegate used for the TransparentModelIndexChanged event.
Enumerations
  EnumerationDescription
Public enumerationPlanePlaneIntersectionType
PlaneIntersectionType enum defines types of intersections with the plane that can be get with GetIntersectionType methods.
Public enumerationTransparencySorterSortingModeTypes
SortingModeTypes defines possible type of transparency sorting.