Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

math3dutils.h

Go to the documentation of this file.
00001 #ifndef MATH3DUTILS_H
00002 #define MATH3DUTILS_H
00003 
00004 #include "oaw/misc/vectorc.h"
00005 #include "oaw/misc/matrixc.h"
00006 
00007 #define  PI   3.1415926535897932384626433832795
00008 
00009 #include "../oawconfig.h"
00010 
00011 OAW_BEGIN_NAMESPACE
00012 
00013 OAW_DLLMAPPING Vector4C MultRotations(const Vector4C &a, const Vector4C &b);
00014 OAW_DLLMAPPING double GetAngle2D(double x, double y);
00015 
00016 OAW_DLLMAPPING VectorC CalcLinearDecomposition(VectorC p, VectorC p1, VectorC p2, VectorC p3);
00017 OAW_DLLMAPPING Vector2C MapTexCoord(VectorC v, VectorC p1, VectorC p2, VectorC p3, Vector2C tp1, Vector2C tp2, Vector2C tp3);
00018 OAW_DLLMAPPING Vector3C MapNormal(VectorC v, VectorC p1, VectorC p2, VectorC p3, VectorC n1, VectorC n2, VectorC n3);
00019 
00020 OAW_DLLMAPPING short IsectLineSphere(VectorC startP,const VectorC& endP, const VectorC& sphereCenter, double radius,
00021                       VectorC& isect1, double& t1, VectorC& isect2, double& t2);
00022 OAW_DLLMAPPING int   IsectLineSphere(const VectorC &a, const VectorC &e, double r, VectorC *pSec1, VectorC *pSec2);
00023 
00024 OAW_DLLMAPPING short IsectLineTriangle(short cull, short ccw,VectorC startP,const VectorC& endP,const VectorC& p1,const VectorC& p2,const VectorC& p3, VectorC& isect, double&);
00025 OAW_DLLMAPPING short IsectLineTriangleP(short bfcull, short ccw,VectorC& startP, const VectorC& endP,double* p1,double* p2,double* p3, VectorC& isect, double&);
00026 OAW_DLLMAPPING short IsectLineTriangleP(short bfcull, short ccw,VectorC& startP, const VectorC& endP,float* p1,float* p2,float* p3, VectorC& isect, double&);
00027 OAW_DLLMAPPING short IsectLineTrianglePP(short cull,VectorC& startP, const VectorC& endP,float* p1,float* p2,float* p3, VectorC& isect, double&);
00028 OAW_DLLMAPPING short IsectLineWithBox(VectorC startP, VectorC endP, const VectorC& boxCenter, const VectorC& boxSize, double& t, VectorC& s, VectorC& n);
00029 OAW_DLLMAPPING int   IsectLineEllipse(const VectorC &a, const VectorC &u, double A, double B, double C, VectorC *pSec1, VectorC *pSec2);
00030 OAW_DLLMAPPING short IsectLineCylinder(const VectorC &vStart, const VectorC &u, const VectorC &vCenter, double fHeight, double fRadius, short bTop=1, short bSide=1, short bBottom=1, VectorC *pSec=0);
00031 OAW_DLLMAPPING short IsectLineCone(const VectorC &vStart, const VectorC &vEnd, const VectorC &vCenter, double fHeight, double fRadius, short bBottom=1, short bSide=1, VectorC *pSec=0);
00032 
00033 OAW_DLLMAPPING short PointIsInBox(VectorC p, const VectorC& boxCenter, const VectorC& boxSize);
00034 
00035 OAW_END_NAMESPACE
00036 
00037 #endif

Generated on Tue Jul 29 14:24:15 2003 for Open ActiveWrl by doxygen1.3-rc2