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
VisiMath.Geometry.GeoOctTreeNode Class Reference

List of all members.

## Public Member Functions
| GeoOctTreeNode (GeoOctTree master, GeoOctTreeNode parent, Vector3 corner, float size)
void | Add (IndexedMesh mesh, Transformation trans=null)
| Add all triangles in list to hierarchy (note, calls conversion routine)
void | Add (TriangleList tlist, Transformation trans=null)
| Add all triangles in list to hierarchy.
void | Add (Vector3[] vertices)
| Adds triangles to hierarchy.
void | AddTriangle (ref ColTriangle ct)
| Adds one triangle to hierarchy.
void | ForceAddTriangle (ref ColTriangle tri)
| Adds one triangle directly to this node.
bool | ContainsFully (ref Vector3 min, ref Vector3 max)
| Checks if AAbox is fully contained in the node.
bool | Contains (ref Vector3 center, float radius)
| Checks if node contains sphere.
int | AddMyContactCollision (ref Vector3 center, float radius, List< CollisionInfo > list, int index, int limit=0, bool dontcheck=false)
| Adds collision of it's own geometry.
int | AddContactCollisionDownWard (ref Vector3 center, float radius, List< CollisionInfo > list, int index, int limit=0)
| Adds all collision with sphere with the node and it's subnodes.
int | AddContactCollision (ref Vector3 center, float radius, List< CollisionInfo > list, int index, int limit=0)
| Adds all collision with sphere with the tree.
float | MyRayCast (Vector3 Origin, Vector3 Direction)
bool | ContainsPos (ref Vector3 origin)
GeoOctTreeNode | GetNode (ref Vector3 position, bool downonly=false)
float | RayCast (Vector3 Origin, Vector3 Direction, bool starting=true)
GeoOctTreeNode | GetNode (ref Vector3 center, float radius, bool createnew=true, float sizelimit=0, bool createnewboss=true, float bosssizelimit=0)
| Gets smallest node from hiearchy fully containing sphere.
GeoOctTreeNode | GetNode (ref Vector3 min, ref Vector3 max, bool createnew=true, float sizelimit=0, bool createnewboss=true, float bosssizelimit=0)
| Gets smallest node from hiearchy fully containing AAbox.

## Constructor & Destructor Documentation

VisiMath.Geometry.GeoOctTreeNode.GeoOctTreeNode | ( | GeoOctTree | master,
|  | GeoOctTreeNode | parent,
|  | Vector3 | corner,
|  | float | size
| ) |  |

## Member Function Documentation

void VisiMath.Geometry.GeoOctTreeNode.Add | ( | IndexedMesh | mesh,
|  | Transformation | trans = `null`
| ) |  |

Add all triangles in list to hierarchy (note, calls conversion routine)

Parameters:

  mesh | Indexed mesh
  trans | Optional transformation for list

void VisiMath.Geometry.GeoOctTreeNode.Add | ( | TriangleList | tlist,
|  | Transformation | trans = `null`
| ) |  |

Add all triangles in list to hierarchy.

Parameters:

  tlist | Triangle list
  trans | Optional transformation for list

void VisiMath.Geometry.GeoOctTreeNode.Add | ( | Vector3[] | vertices | ) |

Adds triangles to hierarchy.

Parameters:

  vertices |

int VisiMath.Geometry.GeoOctTreeNode.AddContactCollision | ( | ref Vector3 | center,
|  | float | radius,
|  | List< CollisionInfo > | list,
|  | int | index,
|  | int | limit = `0`
| ) |  |

Adds all collision with sphere with the tree.

Parameters:

  sph | sphere center
  list | list with collisions
  index | write index
  limit | limit of collisions to write

Returns:
  number of generated contacts

int VisiMath.Geometry.GeoOctTreeNode.AddContactCollisionDownWard | ( | ref Vector3 | center,
|  | float | radius,
|  | List< CollisionInfo > | list,
|  | int | index,
|  | int | limit = `0`
| ) |  |

Adds all collision with sphere with the node and it's subnodes.

Parameters:

  sph | sphere center
  list | list with collisions
  index | write index
  limit | limit of collisions to write

Returns:
  number of generated contacts

int VisiMath.Geometry.GeoOctTreeNode.AddMyContactCollision | ( | ref Vector3 | center,
|  | float | radius,
|  | List< CollisionInfo > | list,
|  | int | index,
|  | int | limit = `0`,
|  | bool | dontcheck = `false`
| ) |  |

Adds collision of it's own geometry.

Parameters:

  sph | sphere center
  list | list with collisions
  index | write index
  limit | limit of collisions to write

Returns:
  number of generated contacts

void VisiMath.Geometry.GeoOctTreeNode.AddTriangle | ( | ref ColTriangle | ct | ) |

Adds one triangle to hierarchy.

Parameters:

  v1 |
  v2 |
  v3 |
  normal |

bool VisiMath.Geometry.GeoOctTreeNode.Contains | ( | ref Vector3 | center,
|  | float | radius
| ) |  |

Checks if node contains sphere.

Parameters:

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

Returns:
  true if contains sphere, false if it's out of the bounds

bool VisiMath.Geometry.GeoOctTreeNode.ContainsFully | ( | ref Vector3 | min,
|  | ref Vector3 | max
| ) |  |

Checks if AAbox is fully contained in the node.

Parameters:

  min | Minimal corner
  max | Maximal corner

Returns:
  True if contained

bool VisiMath.Geometry.GeoOctTreeNode.ContainsPos | ( | ref Vector3 | origin | ) |

void VisiMath.Geometry.GeoOctTreeNode.ForceAddTriangle | ( | ref ColTriangle | tri | ) |

Adds one triangle directly to this node.

Parameters:

  v1 |
  v2 |
  v3 |
  normal |

GeoOctTreeNode VisiMath.Geometry.GeoOctTreeNode.GetNode | ( | ref Vector3 | center,
|  | float | radius,
|  | bool | createnew = `true`,
|  | float | sizelimit = `0`,
|  | bool | createnewboss = `true`,
|  | float | bosssizelimit = `0`
| ) |  |

Gets smallest node from hiearchy fully containing sphere.

Parameters:

  center | Center of the sphere
  radius | Radius of the sphere
  createnew | If true, creates node, otherwise returns best possible
  sizelimit | Size limit for node creation. If zero, no limits
  bosssizelimit | Size limit for node creation for higher level node. If zero, no limits
  createnewboss | If true, creates new new parent node if needed, , otherwise returns best possible

Returns:
  Node

GeoOctTreeNode VisiMath.Geometry.GeoOctTreeNode.GetNode | ( | ref Vector3 | position,
|  | bool | downonly = `false`
| ) |  |

GeoOctTreeNode VisiMath.Geometry.GeoOctTreeNode.GetNode | ( | ref Vector3 | min,
|  | ref Vector3 | max,
|  | bool | createnew = `true`,
|  | float | sizelimit = `0`,
|  | bool | createnewboss = `true`,
|  | float | bosssizelimit = `0`
| ) |  |

Gets smallest node from hiearchy fully containing AAbox.

Parameters:

  min | Minimal corner
  max | Maximal corner
  createnew | If true, creates node, otherwise returns best possible
  sizelimit | Size limit for node creation. If zero, no limits
  bosssizelimit | Size limit for node creation for higher level node. If zero, no limits
  createnewboss | If true, creates new new parent node if needed, , otherwise returns best possible

Returns:
  Node

float VisiMath.Geometry.GeoOctTreeNode.MyRayCast | ( | Vector3 | Origin,
|  | Vector3 | Direction
| ) |  |

float VisiMath.Geometry.GeoOctTreeNode.RayCast | ( | Vector3 | Origin,
|  | Vector3 | Direction,
|  | bool | starting = `true`
| ) |  |

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

- GeoOctTree.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events