VisimBox 1.0 VisimBox 3d simulation and visualisation ToolBox

- Main Page
- Packages
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Properties
VisiMath.Geometry.BaseGeometry Class Reference

Abstract base for all geometry. More...

Inheritance diagram for VisiMath.Geometry.BaseGeometry:

List of all members.

## Public Member Functions
| BaseGeometry (System.Xml.XmlReader reader)
| XML reader constructor.
float | Distance (Vector3 pos)
| For generic geometry returns distance from the center of the object.
virtual float | Distance (ref Vector3 pos)
| Returns closest distance from the specified point to object.
float | Distance (Point3D point)
| Returns closest distance from the specified point to object.
float | Distance (Point3DList pl, int index)
| Returns closest distance from the specified point to object.
float | Distance (IVertexArray varray, int index)
| Returns closest distance from the specified point to object.
float | DistancePoints (Point3DList pl, int startindex=0, int count=0)
| Returns closest distance from the set of points.
virtual float | DistancePoints (IVertexArray varray, int startindex=0, int count=0)
| Returns closest distance from the set of points.
virtual float | Distance (Ray ray, bool frontOnly=false)
| Returns closest distance to the ray.
float | DistanceLineSegment (LineSegment3D line)
| Returns closest distance to the line segment.
float | DistanceLineSegment (LineList lines, int index)
| Returns closest distance to the line segment.
float | DistanceLineSegment (Vector3 pos1, Vector3 pos2)
| Returns closest distance to the line segment.
virtual float | DistanceLineSegment (ref Vector3 pos1, ref Vector3 pos2)
| Returns closest distance to the line segment. Generic, from center, OVERRIDE!
float | DistanceLines (LineList lines, int startindex=0, int count=0)
| Returns closest distance to any of the lines from the set.
float | DistanceLines (IndexedLines lines, int startindex=0, int count=0)
| Returns closest distance to any of the lines from the set.
float | DistanceTriangle (Triangle tr)
| Returns closest distance to the triangle.
float | DistanceTriangle (TriangleList tr, int index)
| Returns closest distance to the triangle.
float | DistanceTriangle (IndexedMesh im, int index)
| Returns closest distance to the triangle.
float | DistanceTriangle (Vector3 pos1, Vector3 pos2, Vector3 pos3)
| Returns closest distance to the triangle.
virtual float | DistanceTriangle (ref Vector3 pos1, ref Vector3 pos2, ref Vector3 pos3)
| Returns closest distance to the triangle. GENERIC with center, override!!!
float | DistanceTriangles (TriangleList tlist, int startindex=0, int count=0)
| Returns closest distance to the set of triangles.
float | DistanceTriangles (IndexedMesh im, int startindex=0, int count=0)
| Returns closest distance to the set of triangles.
float | DistanceQuad (Quad q)
| Returns closest distance to the quad.
float | DistanceQuad (Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4)
| Returns closest distance to the quad.
virtual float | DistanceQuad (ref Vector3 p1, ref Vector3 p2, ref Vector3 p3, ref Vector3 p4)
| Returns closest distance to the quad - calls distance from triangle.
float | DistanceQuad (QuadList ql, int index)
| Returns closest distance to the quad.
float | DistanceQuad (IndexedQuads ql, int index)
| Returns closest distance to the quad.
float | DistanceQuads (Geometry ql, int startindex, int count)
| Distance to the list of quads.
float | DistanceQuads (QuadList ql, int startindex=0, int count=0)
| Returns closest distance to the set of quads.
float | DistanceQuads (IndexedQuads ql, int startindex=0, int count=0)
| Returns closest distance to the set of quads.
virtual float | DistanceSphere (Sphere sph)
| Returns closest distance to the sphere.
float | DistanceSphere (Vector3 center, float radius)
| Returns closest distance to the sphere.
virtual float | DistanceSphere (ref Vector3 center, float radius)
| Returns closest distance to the sphere. Used distance to sphere center.
virtual float | Distance (IGeometry obj)
| Returns closest distance from the generic geometric object. Very generic version, returns distance from centers of objects, should be overriden.
virtual bool | Intersects (Ray ray)
| Checks for intersection between object and ray.
virtual bool | Intersects (IGeometry obj)
| Checks for intersection with generic geo object. Very generic, overload.
abstract bool | ContainsPosition (Vector3 pos)
| Checks if specified position is inside the object.
virtual float | IntersectionDistance (Ray ray)
| Returns distance to the intersection between object and ray.
virtual Vector3 | IntersectionPoint (Ray ray)
| Returns closest point of the intersection between object and ray.
virtual Vector3 | IntersectionPoint (IGeometry obj)
| Returns first found point of the intersection bewteen objects.
abstract bool | GetIntersectionInfo (Ray obj, ref IIntersectionInfo inters)
| Check for intersection and fills intersection info if intersection is closer to the origin of the ray then value before.
virtual bool | GetIntersectionInfo (Ray obj, IntersectionList ilist)
| Check for intersection and adds intersection info if there was any intersection.
virtual bool | Intersects (Sphere sph)
| Checks for intersection between object and sphere.
virtual float | IntersectsMoving (Sphere sph, Ray ray, float maxdistance)
| Checks for intersection between object and moving sphere.
abstract float | IntersectsMoving (float radius, Ray ray, float maxdistance)
| Checks for intersection between object and moving sphere.
IGeometry | ConvertToPrimitive (PrimitiveTypes primType, float quality=0, int vertexlimit=0)
| Converts object to new geometry object with specified primitive type and optionally with quality parameters.
IGeometry | ConvertToPrimitive< VertexT > (PrimitiveTypes primType, float quality=0, int vertexlimit=0)
| Converts object to new geometry object with specified primitive type and optionally with quality parameters.
virtual IGeometry | ConvertToPrimitive (Type vertextype, PrimitiveTypes primType, float quality=0, int vertexlimit=0)
| Converts object to new geometry object with specified primitive type and optionally with quality parameters.
Point3DList | ToPoints (float quality=0, int vertexlimit=0)
| Convert object to list of points.
Point3DList | ToPoints< VertexT > (float quality=0, int vertexlimit=0)
| Convert object to list of points.
abstract Point3DList | ToPoints (Type vertextype, float quality=0, int vertexlimit=0)
| Convert object to list of points.
LineList | ToLines (float quality=0, int vertexlimit=0)
| Convert object to list of lines.
LineList | ToLines< VertexT > (float quality=0, int vertexlimit=0)
| Convert object to list of lines.
abstract LineList | ToLines (Type vertextype, float quality=0, int vertexlimit=0)
| Convert object to list of lines.
TriangleList | ToTriangles (float quality=0, int vertexlimit=0)
| Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.
TriangleList | ToTriangles< VertexT > (float quality=0, int vertexlimit=0)
| Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.
abstract TriangleList | ToTriangles (Type vertextype, float quality=0, int vertexlimit=0)
| Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.
IndexedMesh | ToIndexedMesh (float quality=0, int vertexlimit=0)
| Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.
IndexedMesh | ToIndexedMesh< VertexT > (float quality=0, int vertexlimit=0)
| Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.
abstract IndexedMesh | ToIndexedMesh (Type vertextype, float quality=0, int vertexlimit=0)
| Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.
System.Xml.Schema.XmlSchema | GetSchema ()
| Reqired by IXMLserializable.
abstract void | ReadXml (System.Xml.XmlReader reader)
| Deserializes object from XML.
abstract void | WriteXml (System.Xml.XmlWriter writer)
| Serializes object to XML.
abstract IGeometry | GetCopy ()
| Returns copy of the geometric data.
## Protected Member Functions
| BaseGeometry ()
| Protected base constructor.
float | DistanceLines (Geometry lines, int startindex, int count)
| Returns distance from the list of the lines.
float | DistanceTriangles (Geometry geo, int startindex, int count)
| Returns distance to triangles.
## Properties
abstract bool | IsPrimitive`[get]`
| Is object geometric renderable primitive from enumaration PrimitiveTypes?
abstract Vector3 | Center`[get]`
| Center of the object.
abstract bool | IsContainer`[get]`
| If geometry object is container, it's made of several joined objects.
abstract PrimitiveTypes | PreferredPrimitive`[get]`
| Preferred primitive type for rendering.
abstract Type | PreferredVertexType`[get]`
| Preferred vertex type for default conversion.

## Detailed Description

Abstract base for all geometry.

## Constructor & Destructor Documentation

VisiMath.Geometry.BaseGeometry.BaseGeometry | ( |  | ) | `[protected]`

Protected base constructor.

VisiMath.Geometry.BaseGeometry.BaseGeometry | ( | System.Xml.XmlReader | reader | ) |

XML reader constructor.

Parameters:

  reader | XML reader

## Member Function Documentation

abstract bool VisiMath.Geometry.BaseGeometry.ContainsPosition | ( | Vector3 | pos | ) | `[pure virtual]`

Checks if specified position is inside the object.

Parameters:

  pos | Position to check

Returns:
  True if vector is inside the object

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Pyramid, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Ring, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

IGeometry VisiMath.Geometry.BaseGeometry.ConvertToPrimitive | ( | PrimitiveTypes | primType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Converts object to new geometry object with specified primitive type and optionally with quality parameters.

Parameters:

  primType | Specified type of the primitive
  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Returns:
  New object of specified type

Implements VisiMath.Geometry.IGeometry.

virtual IGeometry VisiMath.Geometry.BaseGeometry.ConvertToPrimitive | ( | Type | vertextype,
|  | PrimitiveTypes | primType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[virtual]`

Converts object to new geometry object with specified primitive type and optionally with quality parameters.

Parameters:

  primType | Specified type of the primitive
  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.
  vertextype | Required type of the vertex

Returns:
  New object of specified type

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.Point3D, and VisiMath.Geometry.Ray.

IGeometry VisiMath.Geometry.BaseGeometry.ConvertToPrimitive< VertexT > | ( | PrimitiveTypes | primType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Converts object to new geometry object with specified primitive type and optionally with quality parameters.

Parameters:

  primType | Specified type of the primitive
  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Template Parameters:

  VertexT | Required Vertex type

Returns:
  New object of specified type

Implements VisiMath.Geometry.IGeometry.

Type Constraints

  VertexT | : | IVertex |

virtual float VisiMath.Geometry.BaseGeometry.Distance | ( | ref Vector3 | pos | ) | `[virtual]`

Returns closest distance from the specified point to object.

Parameters:

  pos | position

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

virtual float VisiMath.Geometry.BaseGeometry.Distance | ( | Ray | ray,
|  | bool | frontOnly = `false`
| ) |  | `[virtual]`

Returns closest distance to the ray.

Parameters:

  ray | Ray to check distance to
  frontOnly | Check only objects in front of the origin

Returns:
  Closest distance to the ray, if frontOnly and object is behind the ray, returns NaN

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

virtual float VisiMath.Geometry.BaseGeometry.Distance | ( | IGeometry | obj | ) | `[virtual]`

Returns closest distance from the generic geometric object. Very generic version, returns distance from centers of objects, should be overriden.

Parameters:

  obj | Object to check distance with

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

float VisiMath.Geometry.BaseGeometry.Distance | ( | Point3DList | pl,
|  | int | index
| ) |  |

Returns closest distance from the specified point to object.

Parameters:

  pl | Point list
  index | Index of the point

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.Distance | ( | Vector3 | pos | ) |

For generic geometry returns distance from the center of the object.

Parameters:

  pos |

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.Distance | ( | IVertexArray | varray,
|  | int | index
| ) |  |

Returns closest distance from the specified point to object.

Parameters:

  varray | vertex array
  index | index of the point

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.Distance | ( | Point3D | point | ) |

Returns closest distance from the specified point to object.

Parameters:

  point | position

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceLines | ( | Geometry | lines,
|  | int | startindex,
|  | int | count
| ) |  | `[protected]`

Returns distance from the list of the lines.

Parameters:

  lines | List of the lines
  startindex | Starting index of the lines
  count | Number of lines to check

Returns:
  Closest distance

float VisiMath.Geometry.BaseGeometry.DistanceLines | ( | LineList | lines,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to any of the lines from the set.

Parameters:

  lines | List of lines
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceLines | ( | IndexedLines | lines,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to any of the lines from the set.

Parameters:

  lines | Indexed list of lines
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceLineSegment | ( | LineSegment3D | line | ) |

Returns closest distance to the line segment.

Parameters:

  line | Line segment

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceLineSegment | ( | LineList | lines,
|  | int | index
| ) |  |

Returns closest distance to the line segment.

Parameters:

  lines | Line list
  index | Index of the line in the list

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceLineSegment | ( | Vector3 | pos1,
|  | Vector3 | pos2
| ) |  |

Returns closest distance to the line segment.

param name="pos1">Start of the line

param name="pos2">end of the line

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistanceLineSegment | ( | ref Vector3 | pos1,
|  | ref Vector3 | pos2
| ) |  | `[virtual]`

Returns closest distance to the line segment. Generic, from center, OVERRIDE!

param name="pos1">Start of the line

param name="pos2">end of the line

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

float VisiMath.Geometry.BaseGeometry.DistancePoints | ( | Point3DList | pl,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance from the set of points.

Parameters:

  pl | point list
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistancePoints | ( | IVertexArray | varray,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  | `[virtual]`

Returns closest distance from the set of points.

Parameters:

  varray | Vertex array
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance to the object

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceQuad | ( | Quad | q | ) |

Returns closest distance to the quad.

Parameters:

  q | Quad

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceQuad | ( | Vector3 | p1,
|  | Vector3 | p2,
|  | Vector3 | p3,
|  | Vector3 | p4
| ) |  |

Returns closest distance to the quad.

Parameters:

  p1 | quad corner
  p2 | quad corner
  p3 | quad corner
  p4 | quad corner>

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistanceQuad | ( | ref Vector3 | p1,
|  | ref Vector3 | p2,
|  | ref Vector3 | p3,
|  | ref Vector3 | p4
| ) |  | `[virtual]`

Returns closest distance to the quad - calls distance from triangle.

Parameters:

  p1 | quad corner
  p2 | quad corner
  p3 | quad corner
  p4 | quad corner>

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.Cylinder.

float VisiMath.Geometry.BaseGeometry.DistanceQuad | ( | QuadList | ql,
|  | int | index
| ) |  |

Returns closest distance to the quad.

Parameters:

  ql | List of quads
  index | index of the quad

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceQuad | ( | IndexedQuads | ql,
|  | int | index
| ) |  |

Returns closest distance to the quad.

Parameters:

  ql | List of quads
  index | index of the quad

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceQuads | ( | Geometry | ql,
|  | int | startindex,
|  | int | count
| ) |  |

Distance to the list of quads.

Parameters:

  ql | Geometry holding quads
  startindex | first quad to check
  count | Number of quads to check

Returns:
  Closest distance

float VisiMath.Geometry.BaseGeometry.DistanceQuads | ( | QuadList | ql,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to the set of quads.

Parameters:

  ql | Set of quads
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceQuads | ( | IndexedQuads | ql,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to the set of quads.

Parameters:

  ql | Set of quads
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistanceSphere | ( | Sphere | sph | ) | `[virtual]`

Returns closest distance to the sphere.

Parameters:

  sph | Sphere object

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceSphere | ( | Vector3 | center,
|  | float | radius
| ) |  |

Returns closest distance to the sphere.

Parameters:

  center | center of the sphere
  radius | radius of the sphere

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistanceSphere | ( | ref Vector3 | center,
|  | float | radius
| ) |  | `[virtual]`

Returns closest distance to the sphere. Used distance to sphere center.

Parameters:

  center | center of the sphere
  radius | radius of the sphere

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

float VisiMath.Geometry.BaseGeometry.DistanceTriangle | ( | Triangle | tr | ) |

Returns closest distance to the triangle.

Parameters:

  tr | Triangle

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceTriangle | ( | TriangleList | tr,
|  | int | index
| ) |  |

Returns closest distance to the triangle.

Parameters:

  tr | TriangleList
  index | Index of the triangle

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceTriangle | ( | IndexedMesh | im,
|  | int | index
| ) |  |

Returns closest distance to the triangle.

Parameters:

  im | Indexed triangle list
  index | Index of the triangle

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceTriangle | ( | Vector3 | pos1,
|  | Vector3 | pos2,
|  | Vector3 | pos3
| ) |  |

Returns closest distance to the triangle.

Parameters:

  pos1 | First corner
  pos2 | Second corner
  pos3 | Third corner

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.DistanceTriangle | ( | ref Vector3 | pos1,
|  | ref Vector3 | pos2,
|  | ref Vector3 | pos3
| ) |  | `[virtual]`

Returns closest distance to the triangle. GENERIC with center, override!!!

Parameters:

  pos1 | First corner
  pos2 | Second corner
  pos3 | Third corner

Returns:
  Distance

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

float VisiMath.Geometry.BaseGeometry.DistanceTriangles | ( | Geometry | geo,
|  | int | startindex,
|  | int | count
| ) |  | `[protected]`

Returns distance to triangles.

Parameters:

  geo | Geometry with triangle data
  startindex | Starting index
  count | Number of triangles to check

Returns:
  Closest distance

float VisiMath.Geometry.BaseGeometry.DistanceTriangles | ( | TriangleList | tlist,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to the set of triangles.

Parameters:

  tlist | Set of triangles
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

float VisiMath.Geometry.BaseGeometry.DistanceTriangles | ( | IndexedMesh | im,
|  | int | startindex = `0`,
|  | int | count = `0`
| ) |  |

Returns closest distance to the set of triangles.

Parameters:

  im | Set of triangles
  startindex | Starting index of points to check
  count | Number of elements to check (0 = all)

Returns:
  Closest distance

Implements VisiMath.Geometry.IGeometry.

abstract IGeometry VisiMath.Geometry.BaseGeometry.GetCopy | ( |  | ) | `[pure virtual]`

Returns copy of the geometric data.

Returns:
  Full copy of the geometry

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.ConvexHull, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

abstract bool VisiMath.Geometry.BaseGeometry.GetIntersectionInfo | ( | Ray | obj,
|  | ref IIntersectionInfo | inters
| ) |  | `[pure virtual]`

Check for intersection and fills intersection info if intersection is closer to the origin of the ray then value before.

Parameters:

  inters | Data structure with intersection info
  obj | Ray object

Returns:
  True if there was an intersection and it was closer then previous stored

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

virtual bool VisiMath.Geometry.BaseGeometry.GetIntersectionInfo | ( | Ray | obj,
|  | IntersectionList | ilist
| ) |  | `[virtual]`

Check for intersection and adds intersection info if there was any intersection.

Parameters:

  ilist | List for intersections
  obj | Ray object

Returns:
  True if there was an intersection

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.Point3DList, VisiMath.Geometry.QuadList, and VisiMath.Geometry.TriangleList.

System.Xml.Schema.XmlSchema VisiMath.Geometry.BaseGeometry.GetSchema | ( |  | ) |

Reqired by IXMLserializable.

Returns:
  Null

Reqired by IXMLserializable

Returns:
  Null

virtual float VisiMath.Geometry.BaseGeometry.IntersectionDistance | ( | Ray | ray | ) | `[virtual]`

Returns distance to the intersection between object and ray.

Parameters:

  ray |

Returns:
  Distance from the origin to the point of intersection or double.NaN if no intersection

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >.

virtual Vector3 VisiMath.Geometry.BaseGeometry.IntersectionPoint | ( | Ray | ray | ) | `[virtual]`

Returns closest point of the intersection between object and ray.

Parameters:

  ray |

Returns:
  Point of intersection or invalid Vector3 (with double.NaN as values)

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >.

virtual Vector3 VisiMath.Geometry.BaseGeometry.IntersectionPoint | ( | IGeometry | obj | ) | `[virtual]`

Returns first found point of the intersection bewteen objects.

Parameters:

  obj | Object to check

Returns:
  Position of the first found intersection

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.Point3D, and VisiMath.Geometry.Point3DList.

virtual bool VisiMath.Geometry.BaseGeometry.Intersects | ( | IGeometry | obj | ) | `[virtual]`

Checks for intersection with generic geo object. Very generic, overload.

Parameters:

  obj | Object to check with

Returns:
  True if intersection exists

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, and VisiMath.Geometry.Ray.

virtual bool VisiMath.Geometry.BaseGeometry.Intersects | ( | Ray | ray | ) | `[virtual]`

Checks for intersection between object and ray.

Parameters:

  ray |

Returns:
  True if ray intersects the object

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.GeoContainer< T >, and VisiMath.Geometry.Ray.

virtual bool VisiMath.Geometry.BaseGeometry.Intersects | ( | Sphere | sph | ) | `[virtual]`

Checks for intersection between object and sphere.

Parameters:

  sph | Sphere object

Returns:
  True if sphere intersects the object

Uses DistanceSphere

Implements VisiMath.Geometry.IGeometry.

virtual float VisiMath.Geometry.BaseGeometry.IntersectsMoving | ( | Sphere | sph,
|  | Ray | ray,
|  | float | maxdistance
| ) |  | `[virtual]`

Checks for intersection between object and moving sphere.

Parameters:

  sph | Sphere object
  maxdistance | Maximal distance to travel
  ray | Ray describing movement of the sphere (should start at the center of the sphere!

Returns:
  Distance to the intersection or -1 if no intersection exists

Implements VisiMath.Geometry.IGeometry.

abstract float VisiMath.Geometry.BaseGeometry.IntersectsMoving | ( | float | radius,
|  | Ray | ray,
|  | float | maxdistance
| ) |  | `[pure virtual]`

Checks for intersection between object and moving sphere.

param name="radius">Radius of the sphere

Parameters:

  maxdistance | Maximal distance to travel
  ray | Ray describing movement of the sphere

Returns:
  Distance to the intersection or -1 if no intersection exists

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

abstract void VisiMath.Geometry.BaseGeometry.ReadXml | ( | System.Xml.XmlReader | reader | ) | `[pure virtual]`

Deserializes object from XML.

Parameters:

  reader | XML reader

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.Geometry, VisiMath.Geometry.IndexedGeo, VisiMath.Geometry.OOBox, VisiMath.Geometry.Pyramid, VisiMath.Geometry.Ray, VisiMath.Geometry.Ring, and VisiMath.Geometry.Sphere.

abstract IndexedMesh VisiMath.Geometry.BaseGeometry.ToIndexedMesh | ( | Type | vertextype,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[pure virtual]`

Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.
  vertextype | Required type of the vertex

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

IndexedMesh VisiMath.Geometry.BaseGeometry.ToIndexedMesh | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

IndexedMesh VisiMath.Geometry.BaseGeometry.ToIndexedMesh< VertexT > | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to indexed triangle mesh. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget

Template Parameters:

  VertexT | Required Vertex type

Parameters:

  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

Type Constraints

  VertexT | : | IVertex |

LineList VisiMath.Geometry.BaseGeometry.ToLines | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of lines.

Returns:
  New geometry object containing edges of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

abstract LineList VisiMath.Geometry.BaseGeometry.ToLines | ( | Type | vertextype,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[pure virtual]`

Convert object to list of lines.

Returns:
  New geometry object containing edges of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.
  vertextype | Required type of the vertex

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

LineList VisiMath.Geometry.BaseGeometry.ToLines< VertexT > | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of lines.

Returns:
  New geometry object containing edges of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget

Template Parameters:

  VertexT | Required Vertex type

Parameters:

  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

Type Constraints

  VertexT | : | IVertex |

Point3DList VisiMath.Geometry.BaseGeometry.ToPoints | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of points.

Returns:
  New geometry object containing point based definition of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

abstract Point3DList VisiMath.Geometry.BaseGeometry.ToPoints | ( | Type | vertextype,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[pure virtual]`

Convert object to list of points.

Returns:
  New geometry object containing point based definition of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.
  vertextype | Required type of the vertex

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

Point3DList VisiMath.Geometry.BaseGeometry.ToPoints< VertexT > | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of points.

Returns:
  New geometry object containing point based definition of the object

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget

Template Parameters:

  VertexT | Required Vertex type

Parameters:

  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

Type Constraints

  VertexT | : | IVertex |

abstract TriangleList VisiMath.Geometry.BaseGeometry.ToTriangles | ( | Type | vertextype,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[pure virtual]`

Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface.

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.
  vertextype | Required type of the vertex

Implements VisiMath.Geometry.IGeometry.

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

TriangleList VisiMath.Geometry.BaseGeometry.ToTriangles | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface.

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget
  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

TriangleList VisiMath.Geometry.BaseGeometry.ToTriangles< VertexT > | ( | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  |

Convert object to list of triangles. Valid only for surface based objects, otherwise returns null.

Returns:
  New geometry object containing triangle faces of the object surface.

Parameters:

  quality | Quality for parametric objects (0-1). Zero is simples possible, 1 maximal for the current dimension of the object. If vertexlimit parameter is used, quality will be reduced to fullfill maximal vertex budget

Template Parameters:

  VertexT | Required Vertex type

Parameters:

  vertexlimit | Maximal number of allowed vertices. If set to zero, there's no limit. Used for fully parametric objects or to reduce number of the vertices in complicated objects.

Implements VisiMath.Geometry.IGeometry.

Type Constraints

  VertexT | : | IVertex |

abstract void VisiMath.Geometry.BaseGeometry.WriteXml | ( | System.Xml.XmlWriter | writer | ) | `[pure virtual]`

Serializes object to XML.

Parameters:

  writer | XML writer to save values

Implemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.Geometry, VisiMath.Geometry.IndexedGeo, VisiMath.Geometry.OOBox, VisiMath.Geometry.Pyramid, VisiMath.Geometry.Ray, VisiMath.Geometry.Ring, and VisiMath.Geometry.Sphere.

## Property Documentation

abstract Vector3 VisiMath.Geometry.BaseGeometry.Center`[get]`

Center of the object.

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.ConvexHull, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.Geometry, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Pyramid, VisiMath.Geometry.Ray, VisiMath.Geometry.Ring, and VisiMath.Geometry.Sphere.

abstract bool VisiMath.Geometry.BaseGeometry.IsContainer`[get]`

If geometry object is container, it's made of several joined objects.

Returns:
  True if container

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

abstract bool VisiMath.Geometry.BaseGeometry.IsPrimitive`[get]`

Is object geometric renderable primitive from enumaration PrimitiveTypes?

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

abstract PrimitiveTypes VisiMath.Geometry.BaseGeometry.PreferredPrimitive`[get]`

Preferred primitive type for rendering.

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.IndexedLines, VisiMath.Geometry.IndexedMesh, VisiMath.Geometry.IndexedQuads, VisiMath.Geometry.LineSegment3D, VisiMath.Geometry.LineList, VisiMath.Geometry.PolyLine, VisiMath.Geometry.OOBox, VisiMath.Geometry.Point3D, VisiMath.Geometry.Point3DList, VisiMath.Geometry.Quad, VisiMath.Geometry.QuadList, VisiMath.Geometry.Ray, VisiMath.Geometry.Sphere, VisiMath.Geometry.Triangle, and VisiMath.Geometry.TriangleList.

abstract Type VisiMath.Geometry.BaseGeometry.PreferredVertexType`[get]`

Preferred vertex type for default conversion.

Implements VisiMath.Geometry.IGeometry.

Reimplemented in VisiMath.Geometry.AABox, VisiMath.Geometry.Cylinder, VisiMath.Geometry.GeoContainer< T >, VisiMath.Geometry.Geometry, VisiMath.Geometry.OOBox, VisiMath.Geometry.Ray, and VisiMath.Geometry.Sphere.

The documentation for this class was generated from the following file:

- BaseGeometry.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events