Geometry.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 _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