Tcpolytope Struct Reference Detailed DescriptionThe 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. Definition at line 68 of file cpolytope.h.
Field Documentation◆ k
Dimension of the feasible velocity space. Can be lower than the dimension of the manifold in the presence of kino-constraints. If so, the 'k' here is lower than the 'k' in the corresponding chart. Parameter here only use the first components of the tangent space (the rest, used in chart. are assumed to be zero). Definition at line 69 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(). ◆ r
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 75 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytope(), CutPolytopeWithFace(), DefinePolytope(), GetPolytopeRadius(), InitEmptyPolytope(), InsidePolytope(), LoadPolytope(), Polytope2SPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeMaxVolume(), RandomPointInPolytope(), and SavePolytope(). ◆ v
Volume of the polytope. Definition at line 79 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), InitEmptyPolytope(), LoadPolytope(), PolytopeVolume(), and SavePolytope(). ◆ emptyPolytope
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 81 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(). ◆ nFaces
Num faces defining the polytope so far. Definition at line 87 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeNeighboursFromVertices(), LoadPolytope(), Polytope2SPolytope(), PolytopeMemSize(), PolytopeNumNeighbours(), PrintPolytopeInfo(), and SavePolytope(). ◆ maxFaces
Space for faces Definition at line 88 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), LoadPolytope(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope(). ◆ face
Parameters of the faces defining the polytope Definition at line 89 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), InsidePolytope(), LoadPolytope(), Polytope2SPolytope(), PrintPolytopeInfo(), and SavePolytope(). ◆ ID
Identifiers of the neighbouring charts (one per face). Definition at line 91 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeNeighboursFromVertices(), LoadPolytope(), Polytope2SPolytope(), PolytopeNeighbourID(), PolytopeNumNeighbours(), and SavePolytope(). ◆ maxVertices
Space for vertices. Definition at line 93 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), LoadPolytope(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope(). ◆ nVertices
Number of vertices (if 0 the chart is un-used) Definition at line 94 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeInteriorPoint(), InsidePolytope(), LoadPolytope(), PolytopeCenter(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope(). ◆ vertex
Polytope vertices. Definition at line 95 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeInteriorPoint(), GetPolytopeVertices(), LoadPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeCenter(), and SavePolytope(). ◆ expandible
TRUE for that can not be used to expand the chart (vertices out of the chart ball, vertices with some error) Definition at line 96 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), LoadPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), SavePolytope(), and WrongPolytopeCorner(). ◆ nExpandible
Number of expandible vertices for the chart. Definition at line 98 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), ExpandiblePolytope(), LoadPolytope(), PolytopeBoundaryPointFromExternalCorner(), PolytopeBoundaryPointsFromExternalCorners(), SavePolytope(), and WrongPolytopeCorner(). ◆ freeVertex
First free vertex. Definition at line 100 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), LoadPolytope(), and SavePolytope(). ◆ nIndices
Number of face index per vertex. Definition at line 102 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), LoadPolytope(), PrintPolytopeInfo(), and SavePolytope(). ◆ maxIndices
Space for face indices. Also used to link free vertices. Definition at line 103 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeEdges(), GetPolytopeInteriorPoint(), GetPolytopeNeighboursFromVertices(), GetPolytopeVertices(), LoadPolytope(), PolytopeBoundaryPointFromExternalCornerInt(), PolytopeCenter(), PolytopeMemSize(), PrintPolytopeInfo(), and SavePolytope(). ◆ indices
Indices of the faces defining a vertex. Vertices with k-1 common faces define an edge. Edges that cross new faces added to the polytope define the new vertices (and the vertices to be removed). Definition at line 104 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), HaveEdge(), LoadPolytope(), PrintPolytopeInfo(), and SavePolytope(). ◆ bb
Axis aligned bounding box of the polytope. Definition at line 108 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), DeletePolytope(), GetPolytopeBB(), LoadPolytope(), PolytopeMaxVolume(), RandomPointInPolytope(), SavePolytope(), and SetPolytopeBB(). ◆ open
TRUE if the polytope has "open" borders, i.e., faces not given by another chart but with an undefined neighbour. These are undefined or given by the global domain borders. Definition at line 110 of file cpolytope.h. Referenced by CopyPolytope(), CutPolytopeWithFace(), DefinePolytope(), InitEmptyPolytope(), LoadPolytope(), and SavePolytope(). |
Follow us!