00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _XSIGEOMETRY_H 00015 #define _XSIGEOMETRY_H 00016 00017 #include "Primitive.h" 00018 00019 // Forward declaration 00020 class CSLXSIShapeAnimation; 00021 00027 class XSIEXPORT CSLXSIGeometry 00028 : public CSLPrimitive 00029 { 00030 public: 00031 00038 CSLXSIGeometry(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00039 00042 virtual ~CSLXSIGeometry(); 00043 00048 virtual CSLXSIShapeAnimation* CreateXSIShapeAnimation(EFCurveInterpolationType in_Type); 00049 00053 virtual CSLXSIShapeAnimation* XSIShapeAnimation(); 00054 00058 virtual SI_Error DestroyXSIShapeAnimation(); 00059 00064 virtual CSLXSIShapeAnimation* ConnectXSIShapeAnimation(CSLXSIShapeAnimation* in_pNewXSIShapeAnim); 00065 00069 virtual SI_Error Synchronize(); 00070 00075 virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName); 00076 00077 private: 00078 CSLXSIShapeAnimation* m_pXSIShapeAnimation; 00079 00080 void *m_pReserved; // reserved for future extension 00081 }; 00082 00083 #endif