Go to the
documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #pragma once
00011 
00012 #include "GeomExport.h"
00013 #include <WTypes.h>
00014 #include "point2.h"
00015 #include "point3.h"
00016 
00017 
00018 class Box3;
00019 class Matrix3;
00020 
00029 GEOMEXPORT Point3 BaryCoords(Point3 p0, Point3 p1, Point3 p2, Point3 p);
00030 
00039 GEOMEXPORT Point3 BaryCoords(Point2 p0, Point2 p1, Point2 p2, Point2 p);
00040 
00047 GEOMEXPORT BOOL RayHitsBox(Ray &ray, Box3& b);
00048 
00055 GEOMEXPORT float  DistPtToLine(Point2 *p0, Point2 *p1, Point2 *q );
00056 
00063 GEOMEXPORT float  Dist3DPtToLine(Point3* p0, Point3* p1, Point3*  q );
00064 
00065 
00076 GEOMEXPORT void ComputeBumpVectors(const Point3 tv[3], const Point3 v[3], Point3 bvec[3]);
00077 
00078 
00090 GEOMEXPORT void ComputeBumpVec2D(int axis, const Point3 tv[3], const Point3 v[3], Point3 bvec[2]);
00091 
00100 GEOMEXPORT void ComputeTangentAndBinormal(const Point3 tv[3], const Point3 v[3], Point3 bvec[2]);
00101 
00110 GEOMEXPORT ULONG CompressNormal(Point3 p);
00111 
00121 GEOMEXPORT Point3 DeCompressNormal(ULONG n);
00122 
00128 GEOMEXPORT void ArbAxis(const Point3& zAxis, Matrix3& matrix);
00129 
00130 
00131