Method | Description | |
---|---|---|
AddArrow ( System.Windows.Media.Media3D.Point3D point1, System.Windows.Media.Media3D.Point3D point2, double diameter, double headLength = 3, double headDiameter = 2, int thetaDiv = 18 ) : void |
Adds an arrow to the mesh.
|
|
AddBoundingBox ( System.Windows.Media.Media3D.Rect3D boundingBox, double diameter ) : void |
Adds the edges of a bounding box as cylinders.
|
|
AddBox ( System.Windows.Media.Media3D.Point3D center, double xlength, double ylength, double zlength ) : void |
Adds a box aligned with the X, Y and Z axes.
|
|
AddBox ( System.Windows.Media.Media3D.Point3D center, double xlength, double ylength, double zlength, BoxFaces faces ) : void |
Adds a box with the specified faces, aligned with the X, Y and Z axes.
|
|
AddBox ( System.Windows.Media.Media3D.Rect3D rectangle ) : void |
Adds a box aligned with the X, Y and Z axes.
|
|
AddCone ( System.Windows.Media.Media3D.Point3D origin, System.Windows.Media.Media3D.Point3D apex, double baseRadius, bool baseCap, int thetaDiv ) : void |
Adds a cone.
|
|
AddCone ( System.Windows.Media.Media3D.Point3D origin, System.Windows.Media.Media3D.Vector3D direction, double baseRadius, double topRadius, double height, bool baseCap, bool topCap, int thetaDiv ) : void |
Adds a (possibly truncated) cone. See http://en.wikipedia.org/wiki/Cone_(geometry). |
|
AddCubeFace ( System.Windows.Media.Media3D.Point3D center, System.Windows.Media.Media3D.Vector3D normal, System.Windows.Media.Media3D.Vector3D up, double dist, double width, double height ) : void |
Adds a cube face.
|
|
AddCylinder ( System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, double diameter, int thetaDiv ) : void |
Adds a cylinder to the mesh. See http://en.wikipedia.org/wiki/Cylinder_(geometry). |
|
AddEdges ( IList |
Adds a collection of edges as cylinders.
|
|
AddExtrudedGeometry ( IList |
Adds an extruded surface of the specified curve. The y-axis is determined by the cross product between the specified x-axis and the p1-p0 vector. |
|
AddLoftedGeometry ( IList |
Adds a lofted surface. See http://en.wikipedia.org/wiki/Loft_(3D). |
|
AddNode ( System.Windows.Media.Media3D.Point3D position, System.Windows.Media.Media3D.Vector3D normal, Point textureCoordinate ) : void |
Adds a single node.
|
|
AddPipe ( System.Windows.Media.Media3D.Point3D point1, System.Windows.Media.Media3D.Point3D point2, double innerDiameter, double diameter, int thetaDiv ) : void |
Adds a (possibly hollow) pipe.
|
|
AddPolygon ( IList |
Adds a polygon. If the number of points is greater than 4, a triangle fan is used. |
|
AddPolygon ( IList |
Adds a polygon specified by vertex index (uses a triangle fan).
|
|
AddPolygonByCuttingEars ( IList |
Adds a polygon defined by vertex indices (uses the cutting ears algorithm).
|
|
AddPyramid ( System.Windows.Media.Media3D.Point3D center, double sideLength, double height ) : void |
Adds a pyramid. See http://en.wikipedia.org/wiki/Pyramid_(geometry). |
|
AddQuad ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, System.Windows.Media.Media3D.Point3D p3 ) : void |
Adds a quadrilateral polygon. See http://en.wikipedia.org/wiki/Quadrilateral. |
|
AddQuad ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, System.Windows.Media.Media3D.Point3D p3, Point uv0, Point uv1, Point uv2, Point uv3 ) : void |
Adds a quadrilateral polygon. See http://en.wikipedia.org/wiki/Quadrilateral. |
|
AddQuads ( IList |
Adds a list of quadrilateral polygons.
|
|
AddRectangularMesh ( IList |
Adds a rectangular mesh (m x n points).
|
|
AddRectangularMesh ( System.Windows.Media.Media3D.Point3D points, Point texCoords = null, bool closed0 = false, bool closed1 = false ) : void |
Adds a rectangular mesh defined by a two-dimensional array of points.
|
|
AddRegularIcosahedron ( System.Windows.Media.Media3D.Point3D center, double radius, bool shareVertices ) : void |
Adds a regular icosahedron. |
|
AddRevolvedGeometry ( IList |
Adds a surface of revolution. See http://en.wikipedia.org/wiki/Surface_of_revolution. |
|
AddSphere ( System.Windows.Media.Media3D.Point3D center, double radius, int thetaDiv = 20, int phiDiv = 10 ) : void |
Adds a sphere.
|
|
AddSubdivisionSphere ( System.Windows.Media.Media3D.Point3D center, double radius, int subdivisions ) : void |
Adds a sphere (by subdividing a regular icosahedron). See link. |
|
AddTriangle ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2 ) : void |
Adds a triangle.
|
|
AddTriangle ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, Point uv0, Point uv1, Point uv2 ) : void |
Adds a triangle.
|
|
AddTriangleFan ( IList |
Adds a triangle fan to the mesh
|
|
AddTriangleFan ( IList |
Adds a triangle fan.
|
|
AddTriangleStrip ( IList |
Adds a triangle strip to the mesh. See http://en.wikipedia.org/wiki/Triangle_strip. |
|
AddTriangles ( IList |
Adds a list of triangles.
|
|
AddTube ( IList |
Adds a tube with a custom section.
|
|
AddTube ( IList |
Adds a tube.
|
|
AddTube ( IList |
Adds a tube.
|
|
Append ( IList |
Appends the specified points and triangles.
|
|
Append ( |
Appends the specified mesh.
|
|
Append ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : void |
Appends the specified mesh.
|
|
ChamferCorner ( System.Windows.Media.Media3D.Point3D p, double d, double eps = 1e-6, IList |
Chamfers the specified corner (experimental code).
|
|
CheckPerformanceLimits ( ) : void |
Checks the performance limits. See MSDN. Try to keep mesh sizes under these limits: Positions : 20,001 point instances TriangleIndices : 60,003 integer instances |
|
GetCircle ( int thetaDiv ) : IList |
Gets a circle section (cached).
|
|
MeshBuilder ( ) : System |
Initializes a new instance of the MeshBuilder class. Normal and texture coordinate generation are included. |
|
MeshBuilder ( bool generateNormals, bool generateTextureCoordinates ) : System |
Initializes a new instance of the MeshBuilder class.
|
|
Scale ( double scaleX, double scaleY, double scaleZ ) : void |
Scales the positions (and normal vectors).
|
|
SubdivideLinear ( bool barycentric = false ) : void |
Performs a linear subdivision of the mesh.
|
|
ToMesh ( bool freeze = false ) : System.Windows.Media.Media3D.MeshGeometry3D |
Converts the geometry to a MeshGeometry3D .
|
Method | Description | |
---|---|---|
AddRectangularMeshNormals ( int index0, int rows, int columns ) : void |
Adds normal vectors for a rectangular mesh.
|
|
AddRectangularMeshTextureCoordinates ( int rows, int columns ) : void |
Adds texture coordinates for a rectangular mesh.
|
|
AddRectangularMeshTriangleIndices ( int index0, int rows, int columns, bool isSpherical = false ) : void |
Add triangle indices for a rectangular mesh.
|
|
AddRectangularMeshTriangleIndices ( int index0, int rows, int columns, bool rowsClosed, bool columnsClosed ) : void |
Adds triangular indices for a rectangular mesh.
|
|
FindCornerNormal ( System.Windows.Media.Media3D.Point3D p, double eps ) : System.Windows.Media.Media3D.Vector3D |
Finds the average normal to the specified corner (experimental code).
|
|
GetUnitSphere ( int subdivisions ) : System.Windows.Media.Media3D.MeshGeometry3D |
Gets a unit sphere from the cache.
|
|
NoSharedVertices ( ) : void |
Makes sure no triangles share the same vertex.
|
|
Subdivide4 ( ) : void |
Subdivides each triangle into four sub-triangles.
|
|
SubdivideBarycentric ( ) : void |
Subdivides each triangle into six triangles. Adds a vertex at the midpoint of each triangle. See http://en.wikipedia.org/wiki/Barycentric_subdivision |
public AddArrow ( System.Windows.Media.Media3D.Point3D point1, System.Windows.Media.Media3D.Point3D point2, double diameter, double headLength = 3, double headDiameter = 2, int thetaDiv = 18 ) : void | ||
point1 | System.Windows.Media.Media3D.Point3D | /// The start point. /// |
point2 | System.Windows.Media.Media3D.Point3D | /// The end point. /// |
diameter | double | /// The diameter of the arrow cylinder. /// |
headLength | double | /// Length of the head (relative to diameter). /// |
headDiameter | double | |
thetaDiv | int | /// The number of divisions around the arrow. /// |
return | void |
public AddBoundingBox ( System.Windows.Media.Media3D.Rect3D boundingBox, double diameter ) : void | ||
boundingBox | System.Windows.Media.Media3D.Rect3D | /// The bounding box. /// |
diameter | double | /// The diameter of the cylinders. /// |
return | void |
public AddBox ( System.Windows.Media.Media3D.Point3D center, double xlength, double ylength, double zlength ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center point of the box. /// |
xlength | double | /// The length of the box along the X axis. /// |
ylength | double | /// The length of the box along the Y axis. /// |
zlength | double | /// The length of the box along the Z axis. /// |
return | void |
public AddBox ( System.Windows.Media.Media3D.Point3D center, double xlength, double ylength, double zlength, BoxFaces faces ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center point of the box. /// |
xlength | double | /// The length of the box along the X axis. /// |
ylength | double | /// The length of the box along the Y axis. /// |
zlength | double | /// The length of the box along the Z axis. /// |
faces | BoxFaces | /// The faces to include. /// |
return | void |
public AddBox ( System.Windows.Media.Media3D.Rect3D rectangle ) : void | ||
rectangle | System.Windows.Media.Media3D.Rect3D | /// The 3-D "rectangle". /// |
return | void |
public AddCone ( System.Windows.Media.Media3D.Point3D origin, System.Windows.Media.Media3D.Point3D apex, double baseRadius, bool baseCap, int thetaDiv ) : void | ||
origin | System.Windows.Media.Media3D.Point3D | The origin point. |
apex | System.Windows.Media.Media3D.Point3D | The apex point. |
baseRadius | double | The base radius. |
baseCap | bool |
/// Include a base cap if set to |
thetaDiv | int | The theta div. |
return | void |
public AddCone ( System.Windows.Media.Media3D.Point3D origin, System.Windows.Media.Media3D.Vector3D direction, double baseRadius, double topRadius, double height, bool baseCap, bool topCap, int thetaDiv ) : void | ||
origin | System.Windows.Media.Media3D.Point3D | /// The origin. /// |
direction | System.Windows.Media.Media3D.Vector3D | /// The direction (normalization not required). /// |
baseRadius | double | /// The base radius. /// |
topRadius | double | /// The top radius. /// |
height | double | /// The height. /// |
baseCap | bool |
/// Include a base cap if set to |
topCap | bool |
/// Include the top cap if set to |
thetaDiv | int | /// The number of divisions around the cone. /// |
return | void |
public AddCubeFace ( System.Windows.Media.Media3D.Point3D center, System.Windows.Media.Media3D.Vector3D normal, System.Windows.Media.Media3D.Vector3D up, double dist, double width, double height ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center of the cube. /// |
normal | System.Windows.Media.Media3D.Vector3D | /// The normal vector for the face. /// |
up | System.Windows.Media.Media3D.Vector3D | /// The up vector for the face. /// |
dist | double | /// The distance from the center of the cube to the face. /// |
width | double | /// The width of the face. /// |
height | double | /// The height of the face. /// |
return | void |
public AddCylinder ( System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, double diameter, int thetaDiv ) : void | ||
p1 | System.Windows.Media.Media3D.Point3D | /// The first point. /// |
p2 | System.Windows.Media.Media3D.Point3D | /// The second point. /// |
diameter | double | /// The diameters. /// |
thetaDiv | int | /// The number of divisions around the cylinder. /// |
return | void |
public AddEdges ( IList |
||
points | IList |
/// The points. /// |
edges | IList |
/// The edge indices. /// |
diameter | double | /// The diameter of the cylinders. /// |
thetaDiv | int | /// The number of divisions around the cylinders. /// |
return | void |
public AddExtrudedGeometry ( IList |
||
points | IList |
/// The 2D points describing the curve to extrude. /// |
xaxis | System.Windows.Media.Media3D.Vector3D | /// The x-axis. /// |
p0 | System.Windows.Media.Media3D.Point3D | /// The start origin of the extruded surface. /// |
p1 | System.Windows.Media.Media3D.Point3D | /// The end origin of the extruded surface. /// |
return | void |
public AddLoftedGeometry ( IList |
||
positionsList | IList |
/// List of lofting sections. /// |
normalList | IList |
/// The normal list. /// |
textureCoordinateList | IList |
/// The texture coordinate list. /// |
return | void |
public AddNode ( System.Windows.Media.Media3D.Point3D position, System.Windows.Media.Media3D.Vector3D normal, Point textureCoordinate ) : void | ||
position | System.Windows.Media.Media3D.Point3D | /// The position. /// |
normal | System.Windows.Media.Media3D.Vector3D | /// The normal. /// |
textureCoordinate | Point | /// The texture coordinate. /// |
return | void |
public AddPipe ( System.Windows.Media.Media3D.Point3D point1, System.Windows.Media.Media3D.Point3D point2, double innerDiameter, double diameter, int thetaDiv ) : void | ||
point1 | System.Windows.Media.Media3D.Point3D | /// The start point. /// |
point2 | System.Windows.Media.Media3D.Point3D | /// The end point. /// |
innerDiameter | double | /// The inner diameter. /// |
diameter | double | /// The outer diameter. /// |
thetaDiv | int | /// The number of divisions around the pipe. /// |
return | void |
public AddPolygon ( IList |
||
points | IList |
/// The points of the polygon. /// |
return | void |
public AddPolygon ( IList |
||
vertexIndices | IList |
The vertex indices. |
return | void |
public AddPolygonByCuttingEars ( IList |
||
vertexIndices | IList |
The vertex indices. |
return | void |
public AddPyramid ( System.Windows.Media.Media3D.Point3D center, double sideLength, double height ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center. /// |
sideLength | double | /// Length of the sides of the pyramid. /// |
height | double | /// The height of the pyramid. /// |
return | void |
public AddQuad ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, System.Windows.Media.Media3D.Point3D p3 ) : void | ||
p0 | System.Windows.Media.Media3D.Point3D | /// The first point. /// |
p1 | System.Windows.Media.Media3D.Point3D | /// The second point. /// |
p2 | System.Windows.Media.Media3D.Point3D | /// The third point. /// |
p3 | System.Windows.Media.Media3D.Point3D | /// The fourth point. /// |
return | void |
public AddQuad ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, System.Windows.Media.Media3D.Point3D p3, Point uv0, Point uv1, Point uv2, Point uv3 ) : void | ||
p0 | System.Windows.Media.Media3D.Point3D | /// The first point. /// |
p1 | System.Windows.Media.Media3D.Point3D | /// The second point. /// |
p2 | System.Windows.Media.Media3D.Point3D | /// The third point. /// |
p3 | System.Windows.Media.Media3D.Point3D | /// The fourth point. /// |
uv0 | Point | /// The first texture coordinate. /// |
uv1 | Point | /// The second texture coordinate. /// |
uv2 | Point | /// The third texture coordinate. /// |
uv3 | Point | /// The fourth texture coordinate. /// |
return | void |
public AddQuads ( IList |
||
quadPositions | IList |
/// The points. /// |
quadNormals | IList |
/// The normal vectors. /// |
quadTextureCoordinates | IList |
/// The texture coordinates. /// |
return | void |
public AddRectangularMesh ( IList |
||
points | IList |
/// The one-dimensional array of points. The points are stored row-by-row. /// |
columns | int | /// The number of columns in the rectangular mesh. /// |
return | void |
public AddRectangularMesh ( System.Windows.Media.Media3D.Point3D points, Point texCoords = null, bool closed0 = false, bool closed1 = false ) : void | ||
points | System.Windows.Media.Media3D.Point3D | /// The points. /// |
texCoords | Point | /// The texture coordinates (optional). /// |
closed0 | bool |
/// set to |
closed1 | bool |
/// set to |
return | void |
public AddRegularIcosahedron ( System.Windows.Media.Media3D.Point3D center, double radius, bool shareVertices ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center. /// |
radius | double | /// The radius. /// |
shareVertices | bool |
/// Share vertices if set to |
return | void |
public AddRevolvedGeometry ( IList |
||
points | IList |
/// The points (x coordinates are radius, y coordinates are distance from the origin along the axis of revolution) /// |
origin | System.Windows.Media.Media3D.Point3D | /// The origin of the revolution axis. /// |
direction | System.Windows.Media.Media3D.Vector3D | /// The direction of the revolution axis. /// |
thetaDiv | int | /// The number of divisions around the mesh. /// |
return | void |
public AddSphere ( System.Windows.Media.Media3D.Point3D center, double radius, int thetaDiv = 20, int phiDiv = 10 ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center of the sphere. /// |
radius | double | /// The radius of the sphere. /// |
thetaDiv | int | /// The number of divisions around the sphere. /// |
phiDiv | int | /// The number of divisions from top to bottom of the sphere. /// |
return | void |
public AddSubdivisionSphere ( System.Windows.Media.Media3D.Point3D center, double radius, int subdivisions ) : void | ||
center | System.Windows.Media.Media3D.Point3D | /// The center of the sphere. /// |
radius | double | /// The radius of the sphere. /// |
subdivisions | int | /// The number of triangular subdivisions of the original icosahedron. /// |
return | void |
public AddTriangle ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2 ) : void | ||
p0 | System.Windows.Media.Media3D.Point3D | /// The first point. /// |
p1 | System.Windows.Media.Media3D.Point3D | /// The second point. /// |
p2 | System.Windows.Media.Media3D.Point3D | /// The third point. /// |
return | void |
public AddTriangle ( System.Windows.Media.Media3D.Point3D p0, System.Windows.Media.Media3D.Point3D p1, System.Windows.Media.Media3D.Point3D p2, Point uv0, Point uv1, Point uv2 ) : void | ||
p0 | System.Windows.Media.Media3D.Point3D | /// The first point. /// |
p1 | System.Windows.Media.Media3D.Point3D | /// The second point. /// |
p2 | System.Windows.Media.Media3D.Point3D | /// The third point. /// |
uv0 | Point | /// The first texture coordinate. /// |
uv1 | Point | /// The second texture coordinate. /// |
uv2 | Point | /// The third texture coordinate. /// |
return | void |
public AddTriangleFan ( IList |
||
fanPositions | IList |
/// The points of the triangle fan. /// |
fanNormals | IList |
/// The normal vectors of the triangle fan. /// |
fanTextureCoordinates | IList |
/// The texture coordinates of the triangle fan. /// |
return | void |
public AddTriangleFan ( IList |
||
vertices | IList |
/// The vertex indices of the triangle fan. /// |
return | void |
public AddTriangleStrip ( IList |
||
stripPositions | IList |
/// The points of the triangle strip. /// |
stripNormals | IList |
/// The normal vectors of the triangle strip. /// |
stripTextureCoordinates | IList |
/// The texture coordinates of the triangle strip. /// |
return | void |
public AddTriangles ( IList |
||
trianglePositions | IList |
/// The points (the number of points must be a multiple of 3). /// |
triangleNormals | IList |
/// The normal vectors (corresponding to the points). /// |
triangleTextureCoordinates | IList |
/// The texture coordinates (corresponding to the points). /// |
return | void |
public AddTube ( IList |
||
path | IList |
/// A list of points defining the centers of the tube. /// |
values | IList |
/// The texture coordinate X values (optional). /// |
diameters | IList |
/// The diameters (optional). /// |
section | IList |
/// The section to extrude along the tube path. /// |
isTubeClosed | bool |
/// If the tube is closed set to |
isSectionClosed | bool |
/// if set to |
return | void |
public AddTube ( IList |
||
path | IList |
/// A list of points defining the centers of the tube. /// |
values | double | /// The texture coordinate X-values (optional). /// |
diameters | double | /// The diameters (optional). /// |
thetaDiv | int | /// The number of divisions around the tube. /// |
isTubeClosed | bool | /// Set to true if the tube path is closed. /// |
return | void |
public AddTube ( IList |
||
path | IList |
/// A list of points defining the centers of the tube. /// |
diameter | double | /// The diameter of the tube. /// |
thetaDiv | int | /// The number of divisions around the tube. /// |
isTubeClosed | bool | /// Set to true if the tube path is closed. /// |
return | void |
public Append ( IList |
||
positionsToAppend | IList |
/// The points to append. /// |
triangleIndicesToAppend | IList |
/// The triangle indices to append. /// |
normalsToAppend | IList |
/// The normal vectors to append. /// |
textureCoordinatesToAppend | IList |
/// The texture coordinates to append. /// |
return | void |
public Append ( |
||
mesh | /// The mesh. /// | |
return | void |
public Append ( System.Windows.Media.Media3D.MeshGeometry3D mesh ) : void | ||
mesh | System.Windows.Media.Media3D.MeshGeometry3D | /// The mesh. /// |
return | void |
public ChamferCorner ( System.Windows.Media.Media3D.Point3D p, double d, double eps = 1e-6, IList |
||
p | System.Windows.Media.Media3D.Point3D | /// The corner point. /// |
d | double | /// The chamfer distance. /// |
eps | double | /// The corner search limit distance. /// |
chamferPoints | IList |
/// If this parameter is provided, the collection will be filled with the generated chamfer points. /// |
return | void |
public static GetCircle ( int thetaDiv ) : IList |
||
thetaDiv | int | /// The number of division. /// |
return | IList |
public MeshBuilder ( bool generateNormals, bool generateTextureCoordinates ) : System | ||
generateNormals | bool | /// Generate normal vectors. /// |
generateTextureCoordinates | bool | /// Generate texture coordinates. /// |
return | System |
public Scale ( double scaleX, double scaleY, double scaleZ ) : void | ||
scaleX | double | /// The X scale factor. /// |
scaleY | double | /// The Y scale factor. /// |
scaleZ | double | /// The Z scale factor. /// |
return | void |
public SubdivideLinear ( bool barycentric = false ) : void | ||
barycentric | bool |
/// Barycentric(?) if set to |
return | void |
public ToMesh ( bool freeze = false ) : System.Windows.Media.Media3D.MeshGeometry3D | ||
freeze | bool |
/// freeze the mesh if set to |
return | System.Windows.Media.Media3D.MeshGeometry3D |