link.c
Go to the documentation of this file.
void GenerateLinkSolutionFLinks(THTransform *t, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Version of GenerateLinkSolution for full matrix representation. Definition: link.c:1484 void RegenerateLinkSolution(Tparameters *p, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Computes the values for the dummy variables used to represent the rotation matrices for a given link... Definition: link.c:1155 void GenerateLinkSolutionQLinks(THTransform *t, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Version of GenerateLinkSolution for quaternion representation. Definition: link.c:1538 void PlotVect3d(unsigned int n, double *x, double *y, double *z, Tplot3d *p) Adds a polyline to the current object. Definition: plot3d.c:447 void LinkPrintAtoms(FILE *f, THTransform *tl, Tlink *l) Prints the center of the atoms in a link in gobal coordinates. Definition: link.c:1624 Tinterval * GetBoxInterval(unsigned int n, Tbox *b) Returns a pointer to one of the intervals defining the box. Definition: box.c:270 #define REP_JOINTS One of the possible values of the REPRESENTATION parameter. Definition: parameters.h:60 unsigned int VectorSize(Tvector *vector) Gets the number of elements in a vector. Definition: vector.c:169 void HTransformApply(double *p_in, double *p_out, THTransform *t) Multiply a homogeneous transform and a vector. Definition: htransform.c:728 void GenerateSaddleEquation(unsigned int vx, unsigned int vy, unsigned int vz, Tequation *eq) Construtor. Generates a saddle equation. Definition: equation.c:1392 #define REP_FLINKS One of the possible values of the REPRESENTATION parameter. Definition: parameters.h:37 #define REP_LINKS One of the possible values of the REPRESENTATION parameter. Definition: parameters.h:27 void SetEquationType(unsigned int type, Tequation *eq) Changes the type of the equation (SYSTEM_EQ, CARTESIAN_EQ, DUMMY_EQ, DERIVED_EQ). ... Definition: equation.c:1013 void GenerateCrossProductEquations(unsigned int v1x, unsigned int v1y, unsigned int v1z, unsigned int v2x, unsigned int v2y, unsigned int v2z, unsigned int v3x, unsigned int v3y, unsigned int v3z, unsigned int vs, double s, Tequation *eq) Construtor. Generates the three equations of the cross product of two unitary vectors. Definition: equation.c:1464 void CacheRotVarsFLinks(TCuikSystem *cs, Tlink *l) Caches information about the variables. Definition: link.c:346 #define LINK_ROT3_Q(vname, linkName, j) System variables for a rotation matrix using quaternions. Definition: varnames.h:121 void GenerateNormEquation(unsigned int vx, unsigned int vy, unsigned int vz, double n, Tequation *eq) Construtor. Generates an equation that is the norm of a 3d vector. Definition: equation.c:1431 void ApplyLinkRot(Tparameters *pr, double sf, unsigned int sv, double *p, Tequation *eq, TCuikSystem *cs, boolean groundLink, Tlink *l) Transforms a vector from the local reference frame to the global one and accumulates the resulting ex... Definition: link.c:834 void * GetVectorElement(unsigned int i, Tvector *vector) Returns a pointer to a vector element. Definition: vector.c:269 A homgeneous transform in R^3. void SetBoxInterval(unsigned int n, Tinterval *is, Tbox *b) Replaces a particular interval in a box. Definition: box.c:259 unsigned int GetLinkBodyStatus(unsigned int i, Tlink *l) Gets the status of one of the convex parts of the link. Definition: link.c:282 unsigned int AddVariable2CS(Tvariable *v, TCuikSystem *cs) Adds a variable to the system. Definition: cuiksystem.c:2511 void PlotPolyhedron(Tplot3d *pt, Tpolyhedron *p) Adds the polyhedron to a 3D geometry. Definition: polyhedron.c:1255 Definition of variable names. void CacheRotVarsQLinks(TCuikSystem *cs, Tlink *l) Caches information about the variables. Definition: link.c:405 void RegenerateLinkBoxQLinks(TCuikSystem *cs, Tbox *b, boolean groundLink, Tlink *l) Version of RegenerateLinkBox for quaternion representation. Definition: link.c:1285 char * GetCSVariableName(unsigned int id, TCuikSystem *cs) Gets a variable name. Definition: cuiksystem.c:2591 void RegenerateLinkBoxLinks(TCuikSystem *cs, Tbox *b, boolean groundLink, Tlink *l) Version of RegenerateLinkBox for partial matrix representation. Definition: link.c:1248 void GetTransform2Link(Tparameters *p, TCuikSystem *cs, double *sol, boolean groundLink, double *trans, THTransform *t, Tlink *l) Gets the homogeneous transform associated with a link for a given solution point. ... Definition: link.c:1311 void RegenerateLinkSolutionLinks(TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Version of RegenerateLinkSolution for partial matrix representation. Definition: link.c:1181 void MoveLinkFromTransform(Tplot3d *pt, THTransform *t, Tlink *l) Displaces a link in a 3d scene. Definition: link.c:1658 void SetVariableInterval(Tinterval *i, Tvariable *v) Sets the new range for the variable. Definition: variable.c:70 void PrintPolyhedron(FILE *f, char *path, char *label, unsigned int n, Tpolyhedron *p) Stores the polyhedron information into a file. Definition: polyhedron.c:1366 #define LINK_ROT3_E(vname, linkName, rn, cn) Frame of reference for a link using quaternions. Definition: varnames.h:106 void ApplyLinkRotFLinks(double sf, unsigned int sv, double *p, Tequation *eq, TCuikSystem *cs, boolean groundLink, Tlink *l) Version of ApplyLinkRot for full matrix representation. Definition: link.c:859 CBLAS_INLINE void HTransformProduct(THTransform *t1, THTransform *t2, THTransform *t3) Product of two homogeneous transforms. Definition: htransform.c:404 #define ZERO Floating point operations giving a value below this constant (in absolute value) are considered 0... Definition: defines.h:37 void SetEquationValue(double v, Tequation *eq) Changes the right-hand value of the equation. Definition: equation.c:1026 void GenerateLinkSolution(Tparameters *p, THTransform *t, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Defines the link variables from a transform. Definition: link.c:1460 void CacheRotVars(unsigned int r, TCuikSystem *cs, Tlink *l) Caches information about the variables. Definition: link.c:326 void Move3dObject(unsigned int nobj, THTransform *t, Tplot3d *p) Moves a 3d object. Definition: plot3d.c:217 void AddMonomial(Tmonomial *f, Tequation *eq) Adds a new monomial to the equation. Definition: equation.c:1356 double HTransformGetElement(unsigned int i, unsigned int j, THTransform *t) Gets an element in a homogeneous transform. Definition: htransform.c:323 void GenerateLinkRotQLinks(Tparameters *p, unsigned int lID, TCuikSystem *cs, Tlink *l) Version of GenerateLinkRot for quaternions representation. Definition: link.c:736 void SetEquationCmp(unsigned int cmp, Tequation *eq) Changes the relational operator (LEQ, GEQ, EQU) of the equation. Definition: equation.c:1018 void LinkStoreAtoms(FILE *f, THTransform *tl, Tlink *l) Prints the center of the atoms in a link in gobal coordinates. Definition: link.c:1641 void GetLinkPoseSimpVars(Tparameters *p, boolean *sv, TCuikSystem *cs, Tlink *l) Identifies the simplified variables giving the rotation of the link. Definition: link.c:478 void SetRotVars(Tparameters *p, boolean *vars, TCuikSystem *cs, Tlink *l) Identifies the variables giving the rotation of the link. Definition: link.c:442 void CacheRotVarsLinks(TCuikSystem *cs, Tlink *l) Caches information about the variables. Definition: link.c:376 void GenerateLinkRotFLinks(Tparameters *p, unsigned int lID, TCuikSystem *cs, Tlink *l) Version of GenerateLinkRot for full matrix representation. Definition: link.c:543 void RegenerateLinkBox(Tparameters *p, TCuikSystem *cs, Tbox *b, boolean groundLink, Tlink *l) Computes the values for the dummy variables. Definition: link.c:1222 void InitVector(unsigned int ele_size, void(*Copy)(void *, void *), void(*Delete)(void *), unsigned int max_ele, Tvector *vector) Constructor. Definition: vector.c:100 void RegenerateLinkSolutionQLinks(TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Version of RegenerateLinkSolution for quaternion representation. Definition: link.c:1198 void ApplyLinkRotQLinks(double sf, unsigned int sv, double *p, Tequation *eq, TCuikSystem *cs, boolean groundLink, Tlink *l) Version of ApplyLinkRot for quaternion representation. Definition: link.c:994 #define IsGroundLink(id) A test that return TRUE if the given identifier is that of the ground link. Definition: link.h:79 unsigned int LinkNBodies(Tlink *l) Gets the number of convex parts of the link. Definition: link.c:246 void SetTransVars(boolean *vars, TCuikSystem *cs, Tlink *l) Identifies the variables giving the translation of the link. Definition: link.c:309 void AddEquation2CS(Tparameters *p, Tequation *eq, TCuikSystem *cs) Adds an equation to the system. Definition: cuiksystem.c:2481 A table of parameters. void ApplyLinkRotVar(Tparameters *pr, double sf, unsigned int *vID, Tequation *eq, TCuikSystem *cs, boolean groundLink, Tlink *l) Transforms a variable vector from the local reference frame to the global one and accumulates the res... Definition: link.c:1106 void GetTransform2LinkFLinks(TCuikSystem *cs, double *sol, boolean groundLink, double *r, THTransform *t, Tlink *l) Version of GetTransform2Link for full matrix representation. Definition: link.c:1335 void ApplyLinkRotLinks(double sf, unsigned int sv, double *p, Tequation *eq, TCuikSystem *cs, boolean groundLink, Tlink *l) Version of ApplyLinkRot for partial matrix representation. Definition: link.c:925 void GetTransform2LinkQLinks(TCuikSystem *cs, double *sol, boolean groundLink, double *r, THTransform *t, Tlink *l) Version of GetTransform2Link for quaternion representation. Definition: link.c:1415 double GetPolyhedronMaxCoordinate(Tpolyhedron *p) Returns the maximum coordinate value used in a polyhedron. Definition: polyhedron.c:1250 void PolyhedronPrintCenterAndCenter(FILE *f, THTransform *t, Tpolyhedron *p) Prints the center and the radius of a sphere to a file. Definition: polyhedron.c:1297 void GenerateScaledSaddleEquation(double s, unsigned int vx, unsigned int vy, unsigned int vz, Tequation *eq) Construtor. Generates a scaled saddle equation. Definition: equation.c:1398 void SetPoseVars(Tparameters *p, boolean *vars, TCuikSystem *cs, Tlink *l) Identifies the variables giving the pose of the link. Definition: link.c:303 unsigned int GetPolyhedronStatus(Tpolyhedron *p) Gets the status of a polyhedron (NORMAL, HIDDEN, DECOR). Definition: polyhedron.c:1170 Definition of the Tpolyhedron type and the associated functions. void VarAccumulateEquations(Tequation *eqn, unsigned int v, Tequation *eq) Adds an equation scaled with a variable to another equation. Definition: equation.c:377 A cuiksystem, i.e., a set of variables and equations defining a position analysis problem... Definition: cuiksystem.h:181 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 void MovePolyhedron(Tplot3d *pt, THTransform *t, Tpolyhedron *p) Moves an object previously added to a 3D scene. Definition: polyhedron.c:1309 void IntervalScale(Tinterval *i1, double e, Tinterval *i_out) Scales an interval. Definition: interval.c:355 void AddVariable2Monomial(unsigned int fn, unsigned int varid, unsigned int p, Tmonomial *f) Adds a power variable to the monomial. Definition: monomial.c:171 Tpolyhedron * GetLinkBody(unsigned int i, Tlink *l) Gets one of the convex parts of the link. Definition: link.c:271 boolean IsSystemVarInSimpCS(Tparameters *p, char *v, TCuikSystem *cs) Identifies system variables that survive in the simplified system. Definition: cuiksystem.c:2596 void PlotLink(Tplot3d *pt, double axesLength, Tlink *l) Adds a link to a 3d scene. Definition: link.c:1585 Tinterval * GetBoxIntervals(Tbox *b) Returns a pointer to the array of intervals defining the box. Definition: box.c:284 void GenerateLinkRotLinks(Tparameters *p, unsigned int lID, TCuikSystem *cs, Tlink *l) Version of GenerateLinkRot for partial matrix representation. Definition: link.c:659 double GetParameter(unsigned int n, Tparameters *p) Gets the value for a particular parameter. Definition: parameters.c:93 void IntervalProduct(Tinterval *i1, Tinterval *i2, Tinterval *i_out) Product of two intervals. Definition: interval.c:384 void PrintLink(FILE *f, char *path, char *prefix, Tlink *l) Stores the link information into a file. Definition: link.c:1687 void HTransformSetElement(unsigned int i, unsigned int j, double v, THTransform *t) Sets an element in a homogeneous transform. Definition: htransform.c:306 void GetTransform2LinkLinks(TCuikSystem *cs, double *sol, boolean groundLink, double *r, THTransform *t, Tlink *l) Version of GetTransform2Link for partial matrix representation. Definition: link.c:1372 void HTransformCopy(THTransform *t_dst, THTransform *t_src) Copy constructor. Definition: htransform.c:83 Definition of the Tlink type and the associated functions. unsigned int GetCSVariableID(char *name, TCuikSystem *cs) Gets the numerical identifier of a variable given its name. Definition: cuiksystem.c:2586 double GetLinkMaxCoordinate(Tlink *l) Returns the sum of the maximum coordinate value for all the convex polyhedrons in the link... Definition: link.c:1580 void ChangeLinkReferenceFrame(unsigned int r, double **p1, double **p2, Tlink *l) Sets a new reference frame for the link. Definition: link.c:163 void CopyPolyhedron(Tpolyhedron *p_dst, Tpolyhedron *p_src) Copy constructor. Definition: polyhedron.c:1051 void PolyhedronPrintCenter(FILE *f, THTransform *t, Tpolyhedron *p) Prints the center of a sphere to a file. Definition: polyhedron.c:1285 unsigned int StartNew3dObject(Tcolor *c, Tplot3d *p) Start a composed object. Definition: plot3d.c:157 void GenerateLinkRot(Tparameters *p, unsigned int lID, TCuikSystem *cs, Tlink *l) Generate the variables and constraints related with the rotation of the link reference frame... Definition: link.c:520 void GenerateLinkSolutionLinks(THTransform *t, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Version of GenerateLinkSolution for partial matrix representation. Definition: link.c:1510 void HTransformOrthonormalize(THTransform *t, THTransform *ta) Orthonormalizes the rotation part of a homogenouos transform. Definition: htransform.c:494 #define LINK_TRANS(vname, linkName, cn) Translation part of the homogeneous transform defining the position of a link in global coordinates... Definition: varnames.h:136 unsigned int GetPolyhedronType(Tpolyhedron *p) Retrives the type of a polyhedron. Definition: polyhedron.c:1155 void GenerateDotProductEquation(unsigned int v1x, unsigned int v1y, unsigned int v1z, unsigned int v2x, unsigned int v2y, unsigned int v2z, unsigned int vc, double c, Tequation *eq) Construtor. Generates the equation of the dot product of two unitary vectors. Definition: equation.c:1526 unsigned int NewVectorElement(void *e, Tvector *vector) Adds an element to the vector. Definition: vector.c:212 #define REP_QLINKS One of the possible values of the REPRESENTATION parameter. Definition: parameters.h:48 |
Follow us!