- [Main Page](index.md)
- [Classes](annotated.md)
- [Files](files.md)
- [Directories](dirs.md)
- [Related Pages](pages.md)
- [File List](files.md)
- [File Members](globals.md)
HAction.h¶
Go to the documentation of this file.
00001 // Dan 6/22/2004 \DanLP110\Include\SDK\HAction.h
00002
00003 #define __HACTION_H
00004
00005 #ifndef __HHASHOBJ_H
00006 #include "HHashObj.h"
00007 #endif
00008
00009 #ifndef _SMALLPDB
00010
00011 class HActionCacheContainer;
00012 class HChor;
00013 class HActionCache;
00014 class HBone;
00015 class HModel;
00016 class HModelCache;
00017 class HPropertyDriver;
00018 class HProperty;
00019 class HFileInfoProperty;
00020 class HBoolCategoryProperty;
00021 class HTimeProperty;
00022 class HTimeRangeProperty;
00023 class HFloatProperty;
00024 class HPointerProperty;
00025 class HTypeProperty;
00026 class HPercentProperty;
00027 class HBoolProperty;
00028
00029 //*********************************************************
00030 //** HAction
00031 //*********************************************************
00032 class PLUGINEXPORT HAction : public HHashObject
00033 {
00034 public:
00035 //Properties
00036 HTimeRangeProperty *GetCropRange();
00037 HTimeRangeProperty *GetChorRange();
00038 HFloatProperty *GetRepeatCount();
00039 HTimeProperty *GetCycleLength();
00040 HTypeProperty *GetBlendMethod(); enum BlendMethod { REPLACE, ADD, BLEND };
00041 HPercentProperty *GetBlendRatio();
00042 HBoolProperty *GetIsHoldLastFrame();
00043 HBoolProperty *GetIsPostTransition();
00044 HPercentProperty *GetEase();
00045
00046 //Operations
00047 Time GetTotalTime();
00048 float GetScaleFactor();
00049
00050 //Traversal
00051 HBone *GetParentBone();
00052 HActionCache *GetActionCache();
00053 HModel *GetParentModel();
00054
00055 HChor *GetChor();
00056 };
00057
00058 //*********************************************************
00059 //** HActionCache
00060 //*********************************************************
00061 class PLUGINEXPORT HActionCache : public HHashObject
00062 {
00063 public:
00064 char *GetName();
00065 // Properties
00066 HFileInfoProperty *GetFileInfo();
00067
00068 HBoolCategoryProperty *GetHasStrideLength();
00069 HFloatProperty *GetStrideLength();
00070 HTimeRangeProperty *GetStrideRange();
00071
00072 HTypeProperty *GetScaleMethod(); enum ScaleMethod { SCALENONE, SCALELENGTH, SCALEPOSITION }; // advanced
00073 HPointerProperty *GetScaleBone();
00074
00075 //Traversal
00076 HActionCacheContainer *GetParentActionCacheContainer();
00077 HChor *GetChor();
00078 HActionCache *GetSiblingActionCache(); // use this over GetSibling because ActionCaches get moved if the Action is currently being edited with a model
00079
00080 //Operations
00081 HModelCache *GetDefaultModelCache();
00082 void SetDefaultModelCache(const char *name);
00083 void SetDefaultModelCache(HModelCache *mch);
00084 Time GetTotalTime();
00085 HActionCache *CreateUncontrainedActionCache(HModel *mh, float errortolerance);
00086 HPropertyDriver *CreateStorageDriver( HProperty *var );
00087 float GetScaleFactor();
00088 float GetScaleStandard();
00089
00090 // HActionCache Creation
00091 static HActionCache *New(const char *name=NULL, BOOL embedded=TRUE, BOOL insertintoactioncachecontainer=TRUE);
00092
00093 // HActionCache Editing
00094 HModel *EditWithModelCache(HModelCache *hmc);
00095 void EndEditWithModelCache(HModel *hm); // pass in the HModel returned from EditWithModelCache
00096 void EndEditWithModelCache(); // not supported anymore (use the one that takes a HModel *)
00097
00098 };
00099
00100 //*********************************************************
00101 //** HChorAction
00102 //*********************************************************
00103 class PLUGINEXPORT HChorAction : public HActionCache
00104 {
00105 public:
00106 HTypeProperty *GetBlendMethod(); enum BlendMethod { REPLACE, ADD, BLEND };
00107
00108 };
00109
00110
00111 #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:45 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001