XSIGeometry.h

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 _XSIGEOMETRY_H
00013 #define _XSIGEOMETRY_H
00014 
00015 #include "Primitive.h"
00016 
00017 // Forward declaration
00018 class CSLXSIShapeAnimation;
00019 
00023 class XSIEXPORT CSLXSIGeometry
00024     : public CSLPrimitive
00025 {
00026 public:
00027 
00034     CSLXSIGeometry(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00035 
00038     virtual ~CSLXSIGeometry();
00039 
00044     virtual CSLXSIShapeAnimation* CreateXSIShapeAnimation(EFCurveInterpolationType in_Type);
00045 
00049     virtual CSLXSIShapeAnimation* XSIShapeAnimation();
00050 
00054     virtual SI_Error DestroyXSIShapeAnimation();
00055 
00060     virtual CSLXSIShapeAnimation* ConnectXSIShapeAnimation(CSLXSIShapeAnimation* in_pNewXSIShapeAnim);
00061 
00066     virtual SI_Error Synchronize();
00067 
00072     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00073 
00074 private:
00075     CSLXSIShapeAnimation* m_pXSIShapeAnimation;
00076 
00077     void *m_pReserved;  // reserved for future extension
00078 };
00079 
00080 #endif