00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _GEOMETRY_H 00015 #define _GEOMETRY_H 00016 00017 #include "Primitive.h" 00018 00019 // Forward declaration 00020 class CSLShapeAnimation; 00021 00024 class XSIEXPORT CSLGeometry 00025 : public CSLPrimitive 00026 { 00027 public: 00028 00035 CSLGeometry(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00036 00039 virtual ~CSLGeometry(); 00040 00045 CSLShapeAnimation* CreateShapeAnimation(EFCurveInterpolationType in_Type); 00046 00050 CSLShapeAnimation* ShapeAnimation(); 00051 00055 SI_Error DestroyShapeAnimation(); 00056 00061 CSLShapeAnimation* ConnectShapeAnimation(CSLShapeAnimation* in_pNewShapeAnim); 00062 00066 virtual SI_Error Synchronize(); 00067 00072 virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName); 00073 00074 private: 00075 CSLShapeAnimation* m_pShapeAnimation; 00076 00077 void *m_pReserved; // reserved for future extension 00078 }; 00079 00080 #endif