gutil.h

Go to the documentation of this file.
00001 //
00002 // Copyright 2010 Autodesk, Inc.  All rights reserved.
00003 //
00004 // Use of this software is subject to the terms of the Autodesk license
00005 // agreement provided at the time of installation or download, or which
00006 // otherwise accompanies this software in either electronic or hard copy form.  
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 // forward declarations
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