cpolytope.c
Go to the documentation of this file.
41 boolean HaveEdge(unsigned int i,unsigned int j,unsigned int *l,unsigned int *faces,Tcpolytope *mp);
364 boolean HaveEdge(unsigned int i,unsigned int j,unsigned int *l,unsigned int *faces,Tcpolytope *mp)
790 Warning("A vertex that should be exterior is interior (in PolytopeBoundaryPointFromExternalCornerInt)");
876 void PolytopeBoundaryPointsFromExternalCorners(double rSample,unsigned int *n,unsigned int **nv,
1061 void GetPolytopeNeighboursFromVertices(unsigned int *nv,unsigned int **cID1,unsigned int **cID2,Tcpolytope *mp)
void SetPolytopeBB(Tbox *bb, Tcpolytope *mp) Modifies the bounding box of the polytope. Definition: cpolytope.c:672 unsigned int GetPolytopeDim(Tcpolytope *mp) Returns the simple polytope dimensionality. Definition: cpolytope.c:659 CBLAS_INLINE void ScaleVector(double f, unsigned int s, double *v) Scales a vector. Definition: basic_algebra.c:30 boolean PolytopeRandomPointOnBoundary(double rSample, double *t, Tcpolytope *mp) Random point on the boundary of the chart. Definition: cpolytope.c:908 void GetPolytopeVertices(unsigned int *nv, double ***v, Tcpolytope *mp) Gets the set of vertices of the polytope. Definition: cpolytope.c:1027 double GetPolytopeRadius(Tcpolytope *mp) Returns the simple polytope radius. Definition: cpolytope.c:654 void FirstCombination(unsigned int n, unsigned int m, unsigned int *cb) Initializes a combination. Definition: geom.c:697 void WrongPolytopeCorner(unsigned int nv, Tcpolytope *mp) Mark a vertex as wrong. Definition: cpolytope.c:684 unsigned int randomMax(unsigned int m) Returns a random integer in the range [0,m]. Definition: random.c:77 void SetBoxInterval(unsigned int n, Tinterval *is, Tbox *b) Replaces a particular interval in a box. Definition: box.c:259 void CutSPolytopeWithFace(double *t, double offset, unsigned int id, Tscpolytope *mp) Cuts a simple polytope with a given plane. Definition: scpolytope.c:199 #define POLYTOPE_R_ENLARGEMENT Factor to expand the polytope w.r.t. the included box. Definition: cpolytope.h:32 Tbox * GetPolytopeBB(Tcpolytope *mp) Returns the simple polytope bounding box. Definition: cpolytope.c:664 CBLAS_INLINE double Norm(unsigned int s, double *v) Computes the norm of a vector. Definition: basic_algebra.c:265 void DefineSPolytope(Tscpolytope *mp) Initial definition of the simple polytope bounding the local chart. Definition: scpolytope.c:43 void DeletePolytope(Tcpolytope *mp) Deletes the structure allocated by DefinePolytope. Definition: cpolytope.c:1380 CBLAS_INLINE void AccumulateVector(unsigned int s, double *v1, double *v2) Adds a vector to another vectors. Definition: basic_algebra.c:55 void SPolytope2Polytope(Tparameters *pr, Tscpolytope *sp, Tcpolytope *p) Defines a chart polytope from a simple chart polytope. Definition: cpolytope.c:188 void PrintPolytopeInfo(Tcpolytope *mp) Prints information about the polytope. Definition: cpolytope.c:1350 boolean CutPolytope(Tparameters *pr, double *t, double r, unsigned int id, void *wcs, void *c, unsigned int m, unsigned int *tp, Tbox *ambient, Tcpolytope *mp) Crops the polytope bounding chart with a plane. Definition: cpolytope.c:396 Definition of a polytope associated to a chart. void RandomPointInBox(boolean *used, double *c, Tbox *b) Returns the a random point along the selected dimensions. Definition: box.c:682 void PolytopeCenter(double *t, Tcpolytope *mp) Computes the center of the polytope. Definition: cpolytope.c:301 boolean NextCombination(unsigned int n, unsigned int m, unsigned int *cb) Moves to the next combination. Definition: geom.c:705 void Polytope2SPolytope(Tparameters *pr, Tcpolytope *p, Tscpolytope *sp) Defines a simple chart polytope from a normal/full chart polytope. Definition: cpolytope.c:212 CBLAS_INLINE double GeneralDotProduct(unsigned int s, double *v1, double *v2) Computes the dot product of two general vectors. Definition: basic_algebra.c:15 unsigned int PolytopeNumNeighbours(Tcpolytope *mp) Number of neighbours of the polytope. Definition: cpolytope.c:974 Definitions of constants and macros used in several parts of the cuik library. boolean ExpandiblePolytope(Tcpolytope *mp) Identifies polytopes not fully bounded. Definition: cpolytope.c:679 void PolytopeBoundaryPointsFromExternalCorners(double rSample, unsigned int *n, unsigned int **nv, double ***t, Tcpolytope *mp) Points on boundary from all the polytope vertexes. Definition: cpolytope.c:876 unsigned int PolytopeNeighbourID(unsigned int n, Tcpolytope *mp) Returns the identifier of one of the neighbours of a polytope. Definition: cpolytope.c:992 boolean CutPolytopeWithFace(Tparameters *pr, double *t, double offset, unsigned int id, void *wcs, void *c, unsigned int m, unsigned int *tp, Tbox *ambient, Tcpolytope *mp) Cuts a polytope with a given plane. Definition: cpolytope.c:412 boolean GetPolytopeInteriorPoint(double rSample, double *t, Tcpolytope *mp) Returns a point inside the ball and the polytope. Definition: cpolytope.c:693 void InitEmptySPolytope(double delta, unsigned int k, double r, double sr, Tscpolytope *mp) Defines an empty chart simplieifed polytope. Definition: scpolytope.c:21 void GetSPolytopeFace(unsigned int n, double *f, Tscpolytope *mp) Gets a face. Definition: scpolytope.c:249 boolean HaveEdge(unsigned int i, unsigned int j, unsigned int *l, unsigned int *faces, Tcpolytope *mp) Identifies vertices connected by an edge. Definition: cpolytope.c:364 boolean PolytopeBoundaryPointFromExternalCorner(double rSample, boolean rand, unsigned int *nv, double *t, Tcpolytope *mp) Random point on the boundary from the polytope vetices. Definition: cpolytope.c:847 A table of parameters. double DistancePointToBoxTopology(double *p, unsigned int *tp, Tbox *b) Distance from a point to a box. Definition: box.c:947 unsigned int GetSPolytopeNFaces(Tscpolytope *mp) Number of faces of a simple chart polytope. Definition: scpolytope.c:244 void SavePolytope(FILE *f, Tcpolytope *mp) Saves the chart polytope to a file. Definition: cpolytope.c:1187 void GetPolytopeNeighboursFromVertices(unsigned int *nv, unsigned int **cID1, unsigned int **cID2, Tcpolytope *mp) Identifiy the three charts coincident at a vertex. Definition: cpolytope.c:1061 Definition of a local chart on a manifold. boolean InsidePolytope(double *t, Tcpolytope *mp) Identifies points inside a chart polytope. Definition: cpolytope.c:329 #define CS_WD_SIMP_INEQUALITIES_ERROR(pr, p, wcs) Maximum error in the inequalities. Definition: wcs.h:223 unsigned int PolytopeMemSize(Tcpolytope *mp) Computes the memory used by the polytope. Definition: cpolytope.c:1169 #define MEM_DUP(_var, _n, _type) Duplicates a previously allocated memory space. Definition: defines.h:414 unsigned int GetSPolytopeDim(Tscpolytope *mp) Returns the simple polytope dimensionality. Definition: scpolytope.c:239 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 void InitBoxFromPoint(unsigned int dim, double *p, Tbox *b) Initializes a box from a point. Definition: box.c:43 CBLAS_INLINE void SubtractVector(unsigned int s, double *v1, double *v2) Substracts a vector from another vector. Definition: basic_algebra.c:210 void CopyPolytope(Tcpolytope *mp_dst, Tcpolytope *mp_src) Copies the polytope from one chart to another. Definition: cpolytope.c:229 double randomInInterval(Tinterval *t) Returns a random double in the given interval. Definition: random.c:67 void randomOnBall(double r, unsigned int k, double *p) Random number on a k dimensional ball. Definition: random.c:110 void Local2Global(double *t, unsigned int *tp, double *p, Tchart *c) Transforms a parameter in tangent space to a point in ambient space. Definition: chart.c:1212 #define MEM_EXPAND(_var, _n, _type) Expands a previously allocated memory space. Definition: defines.h:404 double GetParameter(unsigned int n, Tparameters *p) Gets the value for a particular parameter. Definition: parameters.c:93 void ExpandBox(double *p, Tbox *b) Expands a box so that it includes a given point. Definition: box.c:67 #define CT_DELTA Size of the steps in the path connecting two configurations. Definition: parameters.h:282 void DefinePolytope(Tcpolytope *mp) Initial definition of the polytope bounding the local chart. Definition: cpolytope.c:77 Definition of basic randomization functions. unsigned int SPolytopeNeighbourID(unsigned int n, Tscpolytope *mp) Returns the identifier of one of the neighbours of a polytope. Definition: scpolytope.c:337 void InitEmptyPolytope(unsigned int k, double r, Tcpolytope *mp) Defines an empty chart polytope. Definition: cpolytope.c:65 void LoadPolytope(FILE *f, Tcpolytope *mp) Reads the chart polytope from a file. Definition: cpolytope.c:1252 boolean RandomPointInPolytope(double *t, Tcpolytope *mp) Random point on the polytope with uniform distribution. Definition: cpolytope.c:914 boolean PolytopeBoundaryPointFromExternalCornerInt(unsigned int nc, double rSample, unsigned int *nv, double *t, Tcpolytope *mp) Auxiliary function to get a boundary point for a given external vertex. Definition: cpolytope.c:750 void GetPolytopeEdges(unsigned int *ne, unsigned int **vID1, unsigned int **vID2, Tcpolytope *mp) Gets the set of edges of the polytope. Definition: cpolytope.c:1126 |
Follow us!