shtransform.h
Go to the documentation of this file.
1 #ifndef SHTRANSFORMH
2 #define SHTRANSFORMH
3 
4 
5 #include "defines.h" /*for the DIM_SP,... constants*/
6 #include "htransform.h"
7 #include "equation.h"
8 #include "eqvector.h"
9 
10 #include <stdio.h>
11 
38 
47 
63  TEqVector *d,TSHTransform *t);
72 void SHTransformCopy(TSHTransform *t_dst,TSHTransform *t_org);
73 
82 void SHTransformTx(double tx,TSHTransform *t);
83 
92 void SHTransformVarTx(unsigned int x,TSHTransform *t);
93 
102 void SHTransformTy(double ty,TSHTransform *t);
103 
112 void SHTransformVarTy(unsigned int y,TSHTransform *t);
113 
122 void SHTransformTz(double tz,TSHTransform *t);
123 
132 void SHTransformVarTz(unsigned int z,TSHTransform *t);
133 
144 void SHTransformTxyz(double tx,double ty,double tz,TSHTransform *t);
145 
156 void SHTransformVarTxyz(unsigned int x,unsigned int y,unsigned int z,TSHTransform *t);
157 
169 void SHTransformVarDisplacementAlongVector(double *v,unsigned int vID,TSHTransform *t);
170 
179 void SHTransformRx(double rx,TSHTransform *t);
180 
189 void SHTransformVarRx(unsigned int x,TSHTransform *t);
190 
199 void SHTransformRy(double ry,TSHTransform *t);
200 
209 void SHTransformVarRy(unsigned int y,TSHTransform *t);
210 
219 void SHTransformRz(double rz,TSHTransform *t);
220 
229 void SHTransformVarRz(unsigned int z,TSHTransform *t);
230 
231 
243 void SHTransformCreate(unsigned int dof_r3,double v,TSHTransform *t);
244 
256 void SHTransformVarCreate(unsigned int dof_r3,unsigned int v,TSHTransform *t);
257 
269 Tequation *SHTransformGetElement(unsigned int i,unsigned int j,TSHTransform *t);
270 
281 
292 
303 
314 
324 
335 
345 void SHTransformApply(double *p_in,Tequation *p_out,TSHTransform *t);
346 
357 void SHTransformApplyRot(double *p_in,Tequation *p_out,TSHTransform *t);
358 
370 void SHTransformEvaluate(double *varValues,THTransform *tc,TSHTransform *t);
371 
382 void SHTransformPrint(FILE *f,char **varNames,TSHTransform *t);
383 
392 
393 #endif
void SHTransformApply(double *p_in, Tequation *p_out, TSHTransform *t)
Multiply a symbolic homogeneous transform and a vector.
Definition: shtransform.c:543
void SHTransformTy(double ty, TSHTransform *t)
Constructor.
Definition: shtransform.c:125
void SHTransformVarRx(unsigned int x, TSHTransform *t)
Constructor.
Definition: shtransform.c:231
void SHTransformRz(double rz, TSHTransform *t)
Constructor.
Definition: shtransform.c:297
Definition of the Tequation type and the associated functions.
void SHTransformCopy(TSHTransform *t_dst, TSHTransform *t_org)
Copy constructor.
Definition: shtransform.c:90
Tequation *** TSHTransform
A symbolid homogeneous transform in R^3.
Definition: shtransform.h:37
void SHTransformTranspose(TSHTransform *t, TSHTransform *tt)
Transpose of a homogeneous transform.
Definition: shtransform.c:521
void SHTransformFromEqVectors(TEqVector *x, TEqVector *y, TEqVector *d, TSHTransform *t)
Initializes a symbolic homogeneous transform from vectors.
Definition: shtransform.c:53
void SHTransformVarCreate(unsigned int dof_r3, unsigned int v, TSHTransform *t)
Constructor.
Definition: shtransform.c:363
void SHTransformVarRz(unsigned int z, TSHTransform *t)
Constructor.
Definition: shtransform.c:313
void SHTransformVarTy(unsigned int y, TSHTransform *t)
Constructor.
Definition: shtransform.c:131
A homgeneous transform in R^3.
void SHTransformVarTx(unsigned int x, TSHTransform *t)
Constructor.
Definition: shtransform.c:113
Tequation TEqVector[3]
An array with three equations.
Definition: eqvector.h:25
Tequation * SHTransformGetElement(unsigned int i, unsigned int j, TSHTransform *t)
Gets an element in a homogeneous transform.
Definition: shtransform.c:388
void SHTransformRy(double ry, TSHTransform *t)
Constructor.
Definition: shtransform.c:256
Definition of the TEqVEctor type and the associated functions.
void SHTransformIdentity(TSHTransform *t)
Constructor.
Definition: shtransform.c:43
void SHTransformPostCtProduct(TSHTransform *t1, THTransform *t2, TSHTransform *t3)
Product of a symbolic and a constant homogeneous transforms.
Definition: shtransform.c:448
An equation.
Definition: equation.h:237
Definitions of constants and macros used in several parts of the cuik library.
void SHTransformTx(double tx, TSHTransform *t)
Constructor.
Definition: shtransform.c:107
void SHTransformTz(double tz, TSHTransform *t)
Constructor.
Definition: shtransform.c:143
Definition of the THTransform type and the associated functions.
void SHTransformInverse(TSHTransform *t, TSHTransform *ti)
Inverse of a homogeneous transform.
Definition: shtransform.c:492
void SHTransformPrint(FILE *f, char **varNames, TSHTransform *t)
Prints the a homogeneous transform to a file.
Definition: shtransform.c:586
void SHTransformVarRy(unsigned int y, TSHTransform *t)
Constructor.
Definition: shtransform.c:272
void SHTransformApplyRot(double *p_in, Tequation *p_out, TSHTransform *t)
Multiply the rotation part of the homogeneous transform and a vector.
Definition: shtransform.c:556
void SHTransformVarDisplacementAlongVector(double *v, unsigned int vID, TSHTransform *t)
Constructor.
Definition: shtransform.c:191
void SHTransformAdd(TSHTransform *t1, TSHTransform *t2, TSHTransform *t3)
Addition of two homogeneous transforms.
Definition: shtransform.c:472
void SHTransformEvaluate(double *varValues, THTransform *tc, TSHTransform *t)
Evaluates a symbolic homogeneous transform.
Definition: shtransform.c:569
void SHTransformVarTxyz(unsigned int x, unsigned int y, unsigned int z, TSHTransform *t)
Constructor.
Definition: shtransform.c:169
void SHTransformRx(double rx, TSHTransform *t)
Constructor.
Definition: shtransform.c:215
void SHTransformVarTz(unsigned int z, TSHTransform *t)
Constructor.
Definition: shtransform.c:149
void SHTransformCreate(unsigned int dof_r3, double v, TSHTransform *t)
Constructor.
Definition: shtransform.c:338
void SHTransformDelete(TSHTransform *t)
Destructor.
Definition: shtransform.c:600
void SHTransformProduct(TSHTransform *t1, TSHTransform *t2, TSHTransform *t3)
Product of two symbolic homogeneous transforms.
Definition: shtransform.c:398
void SHTransformTxyz(double tx, double ty, double tz, TSHTransform *t)
Constructor.
Definition: shtransform.c:161
A homgeneous transform in R^3.
void SHTransformPreCtProduct(THTransform *t1, TSHTransform *t2, TSHTransform *t3)
Product of a constant and a symbolic homogeneous transforms.
Definition: shtransform.c:424