68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| //-----------------------------------------------------------------------------
 | |
| // Torque Game Engine 
 | |
| // Copyright (C) GarageGames.com, Inc.
 | |
| //-----------------------------------------------------------------------------
 | |
| 
 | |
| #ifndef _DYN_MAX_UTIL_H
 | |
| #define _DYN_MAX_UTIL_H
 | |
| 
 | |
| #pragma pack(push,8)
 | |
| #include <max.h>
 | |
| #include <iparamb2.h>
 | |
| #include <ISkin.h>
 | |
| #include <decomp.h>
 | |
| #pragma pack(pop)
 | |
| 
 | |
| #include "math/mMath.h"
 | |
| #include "ts/tsTransform.h"
 | |
| 
 | |
| #define DEFAULT_TIME 0
 | |
| 
 | |
| extern Point3F &       Point3ToPoint3F(Point3 & p3, Point3F & p3f);
 | |
| 
 | |
| extern MatrixF &       convertToMatrixF(Matrix3 & mat3,MatrixF & matf);
 | |
| 
 | |
| extern void            zapScale(Matrix3 & mat);
 | |
| 
 | |
| extern TriObject *     getTriObject( INode *pNode, S32 time, S32 multiResVerts, bool & deleteIt);
 | |
| 
 | |
| extern void            getLocalNodeTransform(INode *pNode, INode *parent, AffineParts & child0, AffineParts & parent0, S32 time, Quat16 & rot, Point3F & trans, Quat16 & srot, Point3F & scale);
 | |
| 
 | |
| extern void            getBlendNodeTransform(INode *pNode, INode *parent, AffineParts & child0, AffineParts & parent0, S32 time, S32 referenceTime, Quat16 & rot, Point3F & trans, Quat16 & srot, Point3F & scale);
 | |
| 
 | |
| extern Matrix3 &       getLocalNodeMatrix(INode *pNode, INode *parent, S32 time, Matrix3 & matrix, AffineParts & child0, AffineParts & parent0);
 | |
| 
 | |
| extern void            computeObjectOffset(INode * pNode, Matrix3 & mat);
 | |
| 
 | |
| extern F32             findVolume(INode * pNode, S32 & polyCount);
 | |
| 
 | |
| extern void            getDeltaTransform(INode * pNode, S32 time1, S32 time2, Quat16 & rot, Point3F & trans, Quat16 & srot, Point3F & scale);
 | |
| 
 | |
| extern bool            isVis(INode * pNode, S32 time);
 | |
| 
 | |
| extern F32             getVisValue(INode * pNode, S32 time);
 | |
| 
 | |
| extern bool            animatesVis(INode * pNode, const Interval & range, bool & error);
 | |
| 
 | |
| extern bool            animatesFrame(INode * pNode, const Interval & range, bool & error);
 | |
| 
 | |
| extern bool            animatesMatFrame(INode * pNode, const Interval & range, bool & error);
 | |
| 
 | |
| extern void            embedSubtree(Interface *);
 | |
| 
 | |
| extern void            renumberNodes(Interface *, S32 newSize);
 | |
| 
 | |
| extern void            registerDetails(Interface * ip);
 | |
| 
 | |
| extern char *          chopTrailingNumber(const char *, S32 & size);
 | |
| 
 | |
| extern bool            hasMesh(INode *pNode);
 | |
| 
 | |
| extern void            findSkinData(INode * pNode, ISkin **skin, ISkinContextData ** skinData);
 | |
| 
 | |
| extern bool            hasSkin(INode * pNode);
 | |
| 
 | |
| extern bool            pointInPoly(const Point3F & point, const Point3F & normal, const Point3F * verts, U32 n);
 | |
| 
 | |
| #endif // _DYN_MAX_UTIL_H
 | 
