00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Crosswalk team 00004 // 00005 // Copyright 2008 Autodesk, Inc. All rights reserved. 00006 // Use of this software is subject to the terms of the Autodesk license agreement 00007 // provided at the time of installation or download, or which otherwise accompanies 00008 // this software in either electronic or hard copy form. 00009 // 00010 //*************************************************************************************** 00011 00012 #ifndef _GEOMETRY_H 00013 #define _GEOMETRY_H 00014 00015 #include "Primitive.h" 00016 00017 // Forward declaration 00018 class CSLShapeAnimation; 00019 00021 class XSIEXPORT CSLGeometry 00022 : public CSLPrimitive 00023 { 00024 public: 00025 00032 CSLGeometry(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00033 00036 virtual ~CSLGeometry(); 00037 00042 CSLShapeAnimation* CreateShapeAnimation(EFCurveInterpolationType in_Type); 00043 00047 CSLShapeAnimation* ShapeAnimation(); 00048 00052 SI_Error DestroyShapeAnimation(); 00053 00058 CSLShapeAnimation* ConnectShapeAnimation(CSLShapeAnimation* in_pNewShapeAnim); 00059 00064 virtual SI_Error Synchronize(); 00065 00070 virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName); 00071 00072 private: 00073 CSLShapeAnimation* m_pShapeAnimation; 00074 00075 void *m_pReserved; // reserved for future extension 00076 }; 00077 00078 #endif