HPatch.h

Go to the documentation of this file.
00001 // BC  12/20/2004  \BobL120\Include\SDK\HPatch.h
00002 
00003 #define __HPATCH_H
00004 
00005 #ifndef _SMALLPDB
00006 
00007 //*********************************************************
00008 //** HSpline
00009 //*********************************************************
00010 class HCP;
00011 
00012 class PLUGINEXPORT HSpline : public HAnimObject
00013 {
00014 public:
00015    HCP *GetHeadCP();
00016    HSpline *GetNextSpline();
00017    
00018    HCP *CreateCPAtHead(const Vector &p);
00019    HCP *CreateCPAtTail(const Vector &p);
00020    HCP *CreateCPBefore(HCP *beforecp, const Vector &p);
00021    HCP *CreateCPAfter(HCP *aftercp, const Vector &p);
00022    BOOL DeleteCP(HCP *cp);
00023    BOOL MakeLooped(BOOL looped);
00024 
00025    void  operator delete( void *ptr ) { DeleteHandle( (HSpline *)ptr ); }
00026    static void DeleteHandle(HSpline *handle);
00027 
00028    float GetLength();
00029    BOOL GetPositionAndDirection( float ease, Vector &position, Vector &direction );
00030 };
00031 
00032 //*********************************************************
00033 //** HSplineInstance
00034 //*********************************************************
00035 class PLUGINEXPORT HSplineInstance : public HAnimObject
00036 {
00037 public:
00038    HSpline *GetSpline();
00039 };
00040 
00041 //*********************************************************
00042 //** HSplineContainer
00043 //*********************************************************
00044 class PLUGINEXPORT HSplineContainer : public HHashObject
00045 {
00046 public:
00047    HSpline *GetChildSpline();
00048 };
00049 
00050 //*********************************************************
00051 //** HPatch
00052 //*********************************************************
00053 class PLUGINEXPORT HPatch
00054 {
00055 public:
00056    void  operator delete( void *ptr ) { DeleteHandle( (HPatch *)ptr ); }
00057    static void DeleteHandle(HPatch *handle);
00058 
00059    HCP *GetCP1();
00060    HCP *GetCP2();
00061    HCP *GetCP3();
00062    HCP *GetCP4();
00063    
00064    Vector &GetIT1();
00065    Vector &GetOT1();
00066    Vector &GetIT2();
00067    Vector &GetOT2();
00068    Vector &GetIT3();
00069    Vector &GetOT3();
00070    Vector &GetIT4();
00071    Vector &GetOT4();
00072    
00073 // flags
00074    BOOL IsFlipV1();
00075    BOOL IsFlipV2();
00076    BOOL IsFlipV3();
00077    BOOL IsFlipV4();
00078    BOOL IsHook1();
00079    BOOL IsHook2();
00080    BOOL IsHook3();
00081    BOOL IsHook4();
00082    BOOL IsUseHook1();
00083    BOOL IsUseHook2();
00084    BOOL IsUseHook3();
00085    BOOL IsUseHook4();
00086    BOOL IsEndHook1();
00087    BOOL IsEndHook2();
00088    BOOL IsEndHook3();
00089    BOOL IsEndHook4();
00090    BOOL IsHookData1();
00091    BOOL IsHookData2();
00092    BOOL IsHookData3();
00093    BOOL IsHookData4();
00094    
00095    int GetGroupImageRotation();
00096    PatchID GetPatchID();
00097    HAttrProperty *GetCompositedAttr();
00098    HAttrProperty *GetAttr();
00099    int GetNumPoints();
00100    void GetPatchPoints(Vector *p); // 12 points if 4 point patch,  15 points if 5 point patch
00101    void ReverseNormal();
00102    Vector GetPointOnPatch( float s, float t );
00103    Vector GetPointNormalOnPatch( float s, float t, Vector &normal );
00104 };
00105 
00106 //*********************************************************
00107 //** HPatch5
00108 //*********************************************************
00109 class PLUGINEXPORT HPatch5 : public HPatch
00110 {
00111 public:
00112    HPatch5 *GetNextPatch5();
00113    HCP *GetCP5();
00114    Vector &GetIT5();
00115    Vector &GetOT5();
00116    PatchID5 GetPatchID();
00117    BOOL IsFlipV5();
00118 };
00119 
00120 #endif

This A:M SDK v12.0 documentation is maintained by Hash Inc. Please address any comments concerning this documentation to AMReports. If you have any information, knowledge, or documentation to share with the A:M developer community, please post them on the Hash SDK forum.

Generated on Thu Oct 27 11:46:46 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001