cd.c
Go to the documentation of this file.
412 boolean ObstaclesCollideLikeGround(unsigned int nl,unsigned int no,boolean **checkCollisionsLL,boolean **checkCollisionsLO);
1838 boolean ObstaclesCollideLikeGround(unsigned int nl,unsigned int no,boolean **checkCollisionsLL,boolean **checkCollisionsLO)
2034 /************************************************************************************************/
2038 void StoreCollisionInfoInt(FILE *f,char *fname,unsigned int objectID,Tmechanism *m,unsigned int nc,TCollisionInfo *c)
2052 /* We are only interested on collisions with respect to the manipulated object (which actually is a link) */
2132 /************************************************************************************************/
boolean SolidCorrection(THTransform *t, Tpolyhedron *p) Returns a transform that corrects the position of a polyhedron. Definition: cd.c:584 CBLAS_INLINE void ScaleVector(double f, unsigned int s, double *v) Scales a vector. Definition: basic_algebra.c:30 double GetPolyhedronRadius(Tpolyhedron *p) Returns the radius used in the definition of the object. Definition: polyhedron.c:1440 boolean LinkCanCollide(unsigned int l, unsigned int nl, unsigned int no, boolean **checkCollisionsLL, boolean **checkCollisionsLO) Identifies links than can collide. Definition: cd.c:2218 void HTransformApply(double *p_in, double *p_out, THTransform *t) Multiply a homogeneous transform and a vector. Definition: htransform.c:782 void HTransformTxyz(double tx, double ty, double tz, THTransform *t) Constructor. Definition: htransform.c:146 Tpolyhedron * GetLinkBody(unsigned int i, Tlink *l) Gets one of the convex parts of the link. Definition: link.c:1227 void GetPolyhedronCenter(double *c, Tpolyhedron *p) Gets the center of the spheres. Definition: polyhedron.c:1353 unsigned int AddPolyhedron2Vcollide(double **v, unsigned int nf, unsigned int *nvf, unsigned int **fv, Tvcollide *vc) Adds a polyhedron to the vcollide object. Definition: cd_vcollide.cpp:30 A homgeneous transform in R^3. void InitVcollideCD(Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TvcollideCD *vc) Initializes the Vcollide collision engine. Definition: cd.c:861 void StoreCollisionInfoInt(FILE *f, char *fname, unsigned int objectID, Tmechanism *m, unsigned int nc, TCollisionInfo *c) Stores the information collected during last collision check into a file. Definition: cd.c:2038 void DeleteSolidCD(TsolidCD *s) Deletes the Solid related collision information. Definition: cd.c:835 CBLAS_INLINE double Norm(unsigned int s, double *v) Computes the norm of a vector. Definition: basic_algebra.c:356 unsigned int GetMechanismNLinks(Tmechanism *m) Gets the number of links of a mechanism. Definition: mechanism.c:26 void InitCD(unsigned int engine, boolean parallel, Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TworldCD *cd) Initializes the collision detector. Definition: cd.c:2135 boolean CheckCollision(boolean all, THTransform *tl, TLinkConf *def, THTransform *tlPrev, TLinkConf *defPrev, TworldCD *cd) Determines if there is a collision. Definition: cd.c:2260 CBLAS_INLINE void Normalize(unsigned int s, double *v) Normalizes a vector. Definition: basic_algebra.c:592 CBLAS_INLINE void HTransform2GLMatrix(double *m, THTransform *t) Defines a GL column-major matrix from a homogeneous transform. Definition: htransform.c:357 unsigned int LinkNBodies(Tlink *l) Gets the number of convex parts of the link. Definition: link.c:1201 CBLAS_INLINE void HTransformProduct(THTransform *t1, THTransform *t2, THTransform *t3) Product of two homogeneous transforms. Definition: htransform.c:410 #define ZERO Floating point operations giving a value below this constant (in absolute value) are considered 0... Definition: defines.h:37 void HTransformX2Vect(double sy, double sz, double *p1, double *p2, THTransform *t) Transform a unitary vector along the X axis to a generic vector. Definition: htransform.c:574 unsigned int GetObstacleShapeStatus(unsigned int i, Tenvironment *e) Gets the status (NORMAL, HIDDEN, DECOR) of an obstacle given its identifier. Definition: environment.c:96 Error and warning functions. DT_Bool CDCallBackInfo(void *client_data, void *obj1, void *obj2, const DT_CollData *cd) Callback called whenever a collision is detected. Definition: cd.c:455 void PrintCollisionInfoInt(THTransform *tl, Tmechanism *m, Tenvironment *e, unsigned int nc, TCollisionInfo *c) Prints information about the last collision check. Definition: cd.c:2102 void HTransformInverse(THTransform *t, THTransform *ti) Inverse of a homogeneous transform. Definition: htransform.c:503 void GetLinkConfTransform(unsigned int bID, THTransform *t, TLinkConf *ld) Builds the internal transformation. Definition: link.c:643 boolean ObstacleCanCollide(unsigned int o, unsigned int nl, boolean **checkCollisionsLO) Identifies obstacles than can collide. Definition: cd.c:2240 A collection of obstacles (convex polyhedrons) with their names. Definition: environment.h:39 void GetOFFInfo(unsigned int *nv, double ***v, unsigned int *nf, unsigned int **nvf, unsigned int ***fv, Tpolyhedron *p) Gets the OFF information. Definition: polyhedron.c:1383 Definitions of constants and macros used in several parts of the cuik library. void DeleteVcollideObject(unsigned int o, Tvcollide *vc) Deletes a given vcollide object. Definition: cd_vcollide.cpp:102 DT_ShapeHandle AddShape2Solid(Tpolyhedron *p) Adds a shape to the collision detection data. Definition: cd.c:524 #define IsGroundLink(id) A test that return TRUE if the given identifier is that of the ground link. Definition: link.h:167 void InitSolidCD(boolean parallel, Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TsolidCD *s) Initializes the Solid collision engine. Definition: cd.c:627 unsigned int GetLinkBodyStatus(unsigned int i, Tlink *l) Gets the status of one of the convex parts of the link. Definition: link.c:1238 void PrintCollisionInfo(THTransform *tl, Tmechanism *m, Tenvironment *e, TworldCD *cd) Prints some information collected during last collision check. Definition: cd.c:2374 Tpqp * DefinePQPModel(double **v, unsigned int nf, unsigned int *nvf, unsigned int **fv) Adds a polyhedron to the pqp object. Definition: cd_pqp.cpp:20 void StoreCollisionInfo(FILE *f, char *fname, unsigned int objectID, Tmechanism *m, TworldCD *cd) Stores the information collected during last collision check into a file. Definition: cd.c:2346 unsigned int GetPolyhedronStatus(Tpolyhedron *p) Gets the status of a polyhedron (NORMAL, HIDDEN, DECOR). Definition: polyhedron.c:1378 #define MEM_DUP(_var, _n, _type) Duplicates a previously allocated memory space. Definition: defines.h:414 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 CBLAS_INLINE void SumVectorScale(unsigned int s, double *v1, double w, double *v2, double *v) Adds two vectors with a scale. Definition: basic_algebra.c:86 CBLAS_INLINE void SubtractVector(unsigned int s, double *v1, double *v2) Substracts a vector from another vector. Definition: basic_algebra.c:251 boolean CheckCollisionSolid(boolean all, THTransform *tl, TLinkConf *def, TsolidCD *s) Determines if there is a collision using the SOLID collision engine. Definition: cd.c:778 void MoveVcollideObject(unsigned int o, THTransform *t, Tvcollide *vc) Moves a given v-collide object. Definition: cd_vcollide.cpp:78 char * GetObstacleName(unsigned int i, Tenvironment *e) Gets the name of an obstacle given its identifier. Definition: environment.c:74 Information associated with the Vcollide collision detection engine. Definition: cd.h:126 void ActivateCollisionsVcollide(unsigned int o1, unsigned int o2, Tvcollide *vc) Activates the collision between a pair of objects. Definition: cd_vcollide.cpp:60 void DeleteVcollideCD(TvcollideCD *vc) Deletes the Vcollide related collision information. Definition: cd.c:974 boolean EmptyLinkConf(TLinkConf *ld) Identifies empty link internal configuration. Definition: link.c:638 boolean CheckCollisionPQP(THTransform *tl, TpqpCD *p) Determines if there is a collision using the PQP collision engine. Definition: cd.c:1093 void GetPolyhedronDefiningPoint(unsigned int i, double *point, Tpolyhedron *p) Gets a point defining a a object. Definition: polyhedron.c:1398 Headers of the interface with the collision detection engine. Tlink * GetMechanismLink(unsigned int i, Tmechanism *m) Gets a link given its identifier. Definition: mechanism.c:149 boolean PQPTest(THTransform *t1, Tpqp *m1, THTransform *t2, Tpqp *m2) Test for collision. Definition: cd_pqp.cpp:50 void InitPQPCD(Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TpqpCD *p) Initializes the PQP collision engine. Definition: cd.c:992 void HTransformCopy(THTransform *t_dst, THTransform *t_src) Copy constructor. Definition: htransform.c:83 Tpolyhedron * GetObstacleShape(unsigned int i, Tenvironment *e) Gets the convex polyhedron of an obstacle given its identifier. Definition: environment.c:85 boolean CheckCollisionVcollide(THTransform *tl, TvcollideCD *vc) Determines if there is a collision using the VCOLLIDE collision engine. Definition: cd.c:958 void DeactivateCollisionsVcollide(unsigned int o1, unsigned int o2, Tvcollide *vc) Deactivates the collisions between a pair of object. Definition: cd_vcollide.cpp:69 void HTransformPrint(FILE *f, THTransform *t) Prints the a homogeneous transform to a file. Definition: htransform.c:822 unsigned int GetPolyhedronType(Tpolyhedron *p) Retrives the type of a polyhedron. Definition: polyhedron.c:1363 unsigned int GetMechanismNBodies(Tmechanism *m) Gets the number of convex sub-parts (or bodies) of a mechanism. Definition: mechanism.c:36 unsigned int GetEnvironmentNObstacles(Tenvironment *e) Gets the number of obstacles in the environment. Definition: environment.c:43 boolean HTransformIsIdentity(THTransform *t) Identify the identity matrix. Definition: htransform.c:91 |
Follow us!