The area of influence of a chart is bounded by a polytope. This is used to determine which charts are exterior (belong to the expanding frontier of the exploration) and which are interior (completely sorrounded by other local charts). (See the atlas structure to see how charts are ensambled together.) The polytope is represented as a set of vertices that is updated every time a new chart is added to the atlas. In this case, the polytope stored in the chart is cut (removing vertices and adding new ones) with a plane derived from the intersection with the new neighbouring charts. Charts with all vertices inside the (hyper)sphere are interior.
Being able to differentiate between interior and exterior charts allows to control the ratio of expansion/refinement of the atlas.
- See Also
- chart.h,chart.c.
Definition at line 52 of file cpolytope.h.
unsigned int Tcpolytope::k |
Dimension of the manifold
Definition at line 53 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytope(), CutPolytopeWithFace(), DefinePolytope(), GetPolytopeDim(), GetPolytopeInteriorPoint(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), HaveEdge(), InitEmptyPolytope(), InsidePolytope(), LoadPolytope(), Polytope2SPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeBoundaryPointsFromExternalCorners(), PolytopeCenter(), PolytopeMaxVolume(), PolytopeMemSize(), PolytopeRandomPointOnBoundary(), PolytopeVolume(), RandomPointInPolytope(), and SavePolytope().
Radius around p (in tangent space) where the linearization holds. About half the size of the box containing the ball (it is not exactly half due to the POLYTOPE_R_ENLARGEMENT).
Definition at line 54 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytope(), CutPolytopeWithFace(), DefinePolytope(), GetPolytopeRadius(), InitEmptyPolytope(), InsidePolytope(), LoadPolytope(), Polytope2SPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeMaxVolume(), RandomPointInPolytope(), and SavePolytope().
TRUE if the polytope information is initialized. We defer the polytope initialization as much as possible. In this way temporary charts never have polytope with the savings in memory allocation/free.
Definition at line 59 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), ExpandiblePolytope(), GetPolytopeBB(), GetPolytopeEdges(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), HaveEdge(), InitEmptyPolytope(), InsidePolytope(), LoadPolytope(), PolytopeBoundaryPointFromExternalCorner(), PolytopeBoundaryPointsFromExternalCorners(), PolytopeCenter(), PolytopeMaxVolume(), PolytopeNeighbourID(), PolytopeNumNeighbours(), PrintPolytopeInfo(), RandomPointInPolytope(), SavePolytope(), SetPolytopeBB(), and WrongPolytopeCorner().
unsigned int Tcpolytope::nFaces |
Num faces defining the polytope so far.
Definition at line 65 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeNeighboursFromVertices(), LoadPolytope(), Polytope2SPolytope(), PolytopeMemSize(), PolytopeNumNeighbours(), PrintPolytopeInfo(), and SavePolytope().
unsigned int Tcpolytope::maxFaces |
double** Tcpolytope::face |
unsigned int* Tcpolytope::ID |
unsigned int Tcpolytope::maxVertices |
Space for vertices.
Definition at line 71 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), LoadPolytope(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope().
unsigned int Tcpolytope::nVertices |
Number of vertices (if 0 the chart is un-used)
Definition at line 72 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeInteriorPoint(), InsidePolytope(), LoadPolytope(), PolytopeCenter(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope().
double** Tcpolytope::vertex |
unsigned int Tcpolytope::nExpandible |
unsigned int Tcpolytope::freeVertex |
unsigned int* Tcpolytope::nIndices |
unsigned int* Tcpolytope::maxIndices |
Space for face indices. Also used to link free vertices.
Definition at line 81 of file cpolytope.h.
Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeInteriorPoint(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), LoadPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeCenter(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope().
unsigned int** Tcpolytope::indices |
|
Follow us!