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