cd.c
Go to the documentation of this file.
421 boolean ObstaclesCollideLikeGround(unsigned int nl,unsigned int no,boolean **checkCollisionsLL,boolean **checkCollisionsLO);
1829 boolean ObstaclesCollideLikeGround(unsigned int nl,unsigned int no,boolean **checkCollisionsLL,boolean **checkCollisionsLO)
2025 /************************************************************************************************/
2029 void StoreCollisionInfoInt(FILE *f,char *fname,unsigned int objectID,Tmechanism *m,unsigned int nc,TCollisionInfo *c)
2043 /* We are only interested on collisions with respect to the manipulated object (which actually is a link) */
2123 /************************************************************************************************/
boolean SolidCorrection(THTransform *t, Tpolyhedron *p) Returns a transform that corrects the position of a polyhedron. Definition: cd.c:590 double GetPolyhedronRadius(Tpolyhedron *p) Returns the radius used in the definition of the object. Definition: polyhedron.c:1232 boolean LinkCanCollide(unsigned int l, unsigned int nl, unsigned int no, boolean **checkCollisionsLL, boolean **checkCollisionsLO) Identifies links than can collide. Definition: cd.c:2209 void HTransformApply(double *p_in, double *p_out, THTransform *t) Multiply a homogeneous transform and a vector. Definition: htransform.c:728 void HTransformTxyz(double tx, double ty, double tz, THTransform *t) Constructor. Definition: htransform.c:140 Tpolyhedron * GetLinkBody(unsigned int i, Tlink *l) Gets one of the convex parts of the link. Definition: link.c:271 void GetPolyhedronCenter(double *c, Tpolyhedron *p) Gets the center of the spheres. Definition: polyhedron.c:1145 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:852 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:2029 void DeleteSolidCD(TsolidCD *s) Deletes the Solid related collision information. Definition: cd.c:826 CBLAS_INLINE double Norm(unsigned int s, double *v) Computes the norm of a vector. Definition: basic_algebra.c:265 unsigned int GetMechanismNLinks(Tmechanism *m) Gets the number of links of a mechanism. Definition: mechanism.c:25 void InitCD(unsigned int engine, boolean parallel, Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TworldCD *cd) Initializes the collision detector. Definition: cd.c:2126 boolean CheckCollisionSolid(boolean all, THTransform *tl, TsolidCD *s) Determines if there is a collision using the SOLID collision engine. Definition: cd.c:784 void PrintCollisionInfoInt(THTransform *tl, Tmechanism *m, unsigned int nc, TCollisionInfo *c) Prints information about the last collision check. Definition: cd.c:2093 CBLAS_INLINE void Normalize(unsigned int s, double *v) Normalizes a vector. Definition: basic_algebra.c:442 CBLAS_INLINE void HTransform2GLMatrix(double *m, THTransform *t) Defines a GL column-major matrix from a homogeneous transform. Definition: htransform.c:351 unsigned int LinkNBodies(Tlink *l) Gets the number of convex parts of the link. Definition: link.c:246 CBLAS_INLINE void HTransformProduct(THTransform *t1, THTransform *t2, THTransform *t3) Product of two homogeneous transforms. Definition: htransform.c:404 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:539 unsigned int GetObstacleShapeStatus(unsigned int i, Tenvironment *e) Gets the status (NORMAL, HIDDEN, DECOR) of an obstacle given its identifier. Definition: environment.c:93 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:464 void HTransformInverse(THTransform *t, THTransform *ti) Inverse of a homogeneous transform. Definition: htransform.c:468 boolean ObstacleCanCollide(unsigned int o, unsigned int nl, boolean **checkCollisionsLO) Identifies obstacles than can collide. Definition: cd.c:2231 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:1175 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:530 #define IsGroundLink(id) A test that return TRUE if the given identifier is that of the ground link. Definition: link.h:79 void InitSolidCD(boolean parallel, Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TsolidCD *s) Initializes the Solid collision engine. Definition: cd.c:633 unsigned int GetLinkBodyStatus(unsigned int i, Tlink *l) Gets the status of one of the convex parts of the link. Definition: link.c:282 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:2334 boolean CheckCollision(boolean all, THTransform *tl, THTransform *tlPrev, TworldCD *cd) Determines if there is a collision. Definition: cd.c:2251 DT_Bool CDCallBack(void *client_data, void *obj1, void *obj2, const DT_CollData *cd) Callback called whenever a collision is detected. unsigned int GetPolyhedronStatus(Tpolyhedron *p) Gets the status of a polyhedron (NORMAL, HIDDEN, DECOR). Definition: polyhedron.c:1170 #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:210 void MoveVcollideObject(unsigned int o, THTransform *t, Tvcollide *vc) Moves a given v-collide object. Definition: cd_vcollide.cpp:78 Information associated with the Vcollide collision detection engine. Definition: cd.h:125 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:965 boolean CheckCollisionPQP(THTransform *tl, TpqpCD *p) Determines if there is a collision using the PQP collision engine. Definition: cd.c:1084 void GetPolyhedronDefiningPoint(unsigned int i, double *point, Tpolyhedron *p) Gets a point defining a a object. Definition: polyhedron.c:1190 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:146 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:983 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:82 boolean CheckCollisionVcollide(THTransform *tl, TvcollideCD *vc) Determines if there is a collision using the VCOLLIDE collision engine. Definition: cd.c:949 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:768 void PrintCollisionInfo(THTransform *tl, Tmechanism *m, TworldCD *cd) Prints some information collected during last collision check. Definition: cd.c:2362 unsigned int GetPolyhedronType(Tpolyhedron *p) Retrives the type of a polyhedron. Definition: polyhedron.c:1155 unsigned int GetMechanismNBodies(Tmechanism *m) Gets the number of convex sub-parts (or bodies) of a mechanism. Definition: mechanism.c:35 unsigned int GetEnvironmentNObstacles(Tenvironment *e) Gets the number of obstacles in the environment. Definition: environment.c:40 boolean HTransformIsIdentity(THTransform *t) Identify the identity matrix. Definition: htransform.c:91 |
Follow us!