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 | Properties
VisiMath.Geometry.IndexedLines Class Reference
Inheritance diagram for VisiMath.Geometry.IndexedLines:

List of all members.

## Public Member Functions
override IGeometry | GetCopy ()
| Returns copy of the geometric data.
| IndexedLines (System.Xml.XmlReader reader)
| XML reader constructor.
| IndexedLines (IndexedLines copy)
| Copy constructor.
| IndexedLines (int vertexcount, int indexcount)
| Creates indexed geo with default vertex format, with specified number of vertices, one subset with selected number of indices.
| IndexedLines (int vertexcount, int indexsets, int[] indexcounts)
| Creates indexed geo with default vertex format, with specified number of vertices, specified number of subset with selected number of indices.
| IndexedLines (Type vertextype, int vertexcount, int indexcount)
| Creates indexed geo of specified format, with specified number of vertices, one subset and specified number of indices.
| IndexedLines (Type vertextype, int vertexcount, int indexsets, int[] indexcounts)
| Creates indexed geo of specified format, with specified number of vertices, specified number of subsets and specified number of indices.
| IndexedLines (IVertexArray source, int indexcount)
| Creates indexed geo from array of vertices one subset and specified number of indices.
| IndexedLines (IVertexArray source, int indexsets, int[] indexcounts)
| Creates indexed geo from array of vertices specified number of subsets and specified number of indices.
| IndexedLines (IVertexArray source, int[] indices)
| Creates indexed geo from array of vertices specified with one subset of specified indices.
| IndexedLines (IVertexArray source, int[][] indices)
| Creates indexed geo from array of vertices and from indices.
override float | Distance (ref Vector3 pos)
| Returns closest distance from pos to one of the segments.
override float | Distance (Ray ray, bool frontOnly=false)
| Returns closest distance to the ray.
override float | DistanceLineSegment (ref Vector3 pos1, ref Vector3 pos2)
| Returns closest distance to the line segment. Generic, from center, OVERRIDE!
override float | DistanceTriangle (ref Vector3 pos1, ref Vector3 pos2, ref Vector3 pos3)
| Returns closest distance to the triangle.
override float | DistanceSphere (ref Vector3 center, float radius)
| Returns closest distance to the sphere.
override float | Distance (IGeometry obj)
| Returns closest distance from the generic geometric object.
override bool | ContainsPosition (Vector3 pos)
| Checks if specified position is inside the object.
override 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.
override float | IntersectsMoving (float radius, Ray ray, float maxdistance)
| Checks for intersection between object and moving sphere.
override Point3DList | ToPoints (Type VertexType, float quality=0, int vertexlimit=0)
| Convert object to list of points.
override LineList | ToLines (Type VertexType, float quality=0, int vertexlimit=0)
| Convert object to list of lines - returns self.
override TriangleList | ToTriangles (Type VertexType, float quality=0, int vertexlimit=0)
| Linelist can't be converted to triangles, returns null.
override IndexedMesh | ToIndexedMesh (Type VertexType, float quality=0, int vertexlimit=0)
| Linelist can't be converted to triangles, returns null.
void | Add (LineSegment3D geoobject)
| LineList is fixed array, can't add, doesn't do anything.
IEnumerator< IGeometry > | GetEnumerator ()
## Properties
override PrimitiveTypes | MeshType`[get]`
| Type of the mesh.
override int | IndicesPerElement`[get]`
| Number of indices per one element.
override bool | IsPrimitive`[get]`
| IndexedLineList is primitive.
override bool | IsContainer`[get]`
| IndexedLineList can work as a list of LineSegments.
override PrimitiveTypes | PreferredPrimitive`[get]`
| IndexedLineList prefers linelist.
LineSegment3D | this[int index]`[get, set]`
| Indexing acessors for object.
int | Count`[get]`
| Number of the objects in the container.

## Constructor & Destructor Documentation

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

XML reader constructor.

Parameters:

  reader | XML reader

VisiMath.Geometry.IndexedLines.IndexedLines | ( | IndexedLines | copy | ) |

Copy constructor.

Parameters:

  copy | Lines to copy

VisiMath.Geometry.IndexedLines.IndexedLines | ( | int | vertexcount,
|  | int | indexcount
| ) |  |

Creates indexed geo with default vertex format, with specified number of vertices, one subset with selected number of indices.

Parameters:

  vertexcount | Number of vertices
  indexcount | Number of indices

VisiMath.Geometry.IndexedLines.IndexedLines | ( | int | vertexcount,
|  | int | indexsets,
|  | int[] | indexcounts
| ) |  |

Creates indexed geo with default vertex format, with specified number of vertices, specified number of subset with selected number of indices.

Parameters:

  vertexcount | Number of vertices
  indexsets | Number of subsets
  indexcounts | Array with length of all subsets

VisiMath.Geometry.IndexedLines.IndexedLines | ( | Type | vertextype,
|  | int | vertexcount,
|  | int | indexcount
| ) |  |

Creates indexed geo of specified format, with specified number of vertices, one subset and specified number of indices.

Parameters:

  vertextype | Type of vertex (must be IVertex)
  vertexcount | Number of vertices
  indexcount | Number of indices

VisiMath.Geometry.IndexedLines.IndexedLines | ( | Type | vertextype,
|  | int | vertexcount,
|  | int | indexsets,
|  | int[] | indexcounts
| ) |  |

Creates indexed geo of specified format, with specified number of vertices, specified number of subsets and specified number of indices.

Parameters:

  vertextype | Type of vertex (must be IVertex)
  vertexcount | Number of vertices
  indexsets | Number of subsets
  indexcounts | Array with length of all subsets

VisiMath.Geometry.IndexedLines.IndexedLines | ( | IVertexArray | source,
|  | int | indexcount
| ) |  |

Creates indexed geo from array of vertices one subset and specified number of indices.

Parameters:

  source | Source vertex array
  indexcount | number of vertices

VisiMath.Geometry.IndexedLines.IndexedLines | ( | IVertexArray | source,
|  | int | indexsets,
|  | int[] | indexcounts
| ) |  |

Creates indexed geo from array of vertices specified number of subsets and specified number of indices.

Parameters:

  source | Source vertex array
  indexsets | Number of subsets
  indexcounts | Array with length of all subsets

VisiMath.Geometry.IndexedLines.IndexedLines | ( | IVertexArray | source,
|  | int[] | indices
| ) |  |

Creates indexed geo from array of vertices specified with one subset of specified indices.

Parameters:

  source | Source vertex array
  indices | Array with indices

VisiMath.Geometry.IndexedLines.IndexedLines | ( | IVertexArray | source,
|  | int | indices[][]
| ) |  |

Creates indexed geo from array of vertices and from indices.

Parameters:

  source | Source vertex array
  indices | Array with indices

## Member Function Documentation

void VisiMath.Geometry.IndexedLines.Add | ( | LineSegment3D | geoobject | ) |

LineList is fixed array, can't add, doesn't do anything.

Parameters:

  geoobject |

override bool VisiMath.Geometry.IndexedLines.ContainsPosition | ( | Vector3 | pos | ) | `[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.BaseGeometry.

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

Returns closest distance from pos to one of the segments.

Parameters:

  pos | position vector

Returns:
  closest distance

Reimplemented from VisiMath.Geometry.BaseGeometry.

override float VisiMath.Geometry.IndexedLines.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

Reimplemented from VisiMath.Geometry.BaseGeometry.

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

Returns closest distance from the generic geometric object.

Parameters:

  obj | Object to check distance with

Returns:
  Closest distance to the object

Reimplemented from VisiMath.Geometry.BaseGeometry.

override float VisiMath.Geometry.IndexedLines.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

Reimplemented from VisiMath.Geometry.BaseGeometry.

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

Returns closest distance to the sphere.

Parameters:

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

Returns:
  Closest distance

Reimplemented from VisiMath.Geometry.BaseGeometry.

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

Returns closest distance to the triangle.

Parameters:

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

Returns:
  Distance

Reimplemented from VisiMath.Geometry.BaseGeometry.

override IGeometry VisiMath.Geometry.IndexedLines.GetCopy | ( |  | ) | `[virtual]`

Returns copy of the geometric data.

Returns:
  Full copy of the geometry

Implements VisiMath.Geometry.BaseGeometry.

IEnumerator<IGeometry> VisiMath.Geometry.IndexedLines.GetEnumerator | ( |  | ) |

override bool VisiMath.Geometry.IndexedLines.GetIntersectionInfo | ( | Ray | obj,
|  | ref IIntersectionInfo | inters
| ) |  | `[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.BaseGeometry.

override float VisiMath.Geometry.IndexedLines.IntersectsMoving | ( | float | radius,
|  | Ray | ray,
|  | float | maxdistance
| ) |  | `[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.BaseGeometry.

override IndexedMesh VisiMath.Geometry.IndexedLines.ToIndexedMesh | ( | Type | VertexType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[virtual]`

Linelist can't be converted to triangles, returns null.

Parameters:

  VertexType | unused
  quality | unused
  vertexlimit | unused

Implements VisiMath.Geometry.BaseGeometry.

override LineList VisiMath.Geometry.IndexedLines.ToLines | ( | Type | VertexType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[virtual]`

Convert object to list of lines - returns self.

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
  VertexType | Required vertex type
  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.BaseGeometry.

override Point3DList VisiMath.Geometry.IndexedLines.ToPoints | ( | Type | VertexType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[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
  VertexType | Required vertex type
  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.BaseGeometry.

override TriangleList VisiMath.Geometry.IndexedLines.ToTriangles | ( | Type | VertexType,
|  | float | quality = `0`,
|  | int | vertexlimit = `0`
| ) |  | `[virtual]`

Linelist can't be converted to triangles, returns null.

Parameters:

  VertexType | unused
  quality | unused
  vertexlimit | unused

Implements VisiMath.Geometry.BaseGeometry.

## Property Documentation

int VisiMath.Geometry.IndexedLines.Count`[get]`

Number of the objects in the container.

Implements VisiMath.Geometry.IGeoContainer< T >.

override int VisiMath.Geometry.IndexedLines.IndicesPerElement`[get]`

Number of indices per one element.

Reimplemented from VisiMath.Geometry.IndexedGeo.

override bool VisiMath.Geometry.IndexedLines.IsContainer`[get]`

IndexedLineList can work as a list of LineSegments.

Reimplemented from VisiMath.Geometry.BaseGeometry.

override bool VisiMath.Geometry.IndexedLines.IsPrimitive`[get]`

IndexedLineList is primitive.

Reimplemented from VisiMath.Geometry.BaseGeometry.

override PrimitiveTypes VisiMath.Geometry.IndexedLines.MeshType`[get]`

Type of the mesh.

Reimplemented from VisiMath.Geometry.IndexedGeo.

override PrimitiveTypes VisiMath.Geometry.IndexedLines.PreferredPrimitive`[get]`

IndexedLineList prefers linelist.

Reimplemented from VisiMath.Geometry.BaseGeometry.

LineSegment3D VisiMath.Geometry.IndexedLines.this[int index]`[get, set]`

Indexing acessors for object.

Parameters:

  index | index of object

Returns:
  Geoobject

Implements VisiMath.Geometry.IGeoContainer< T >.

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

- IndexedGeo.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events