ConstrainableType.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _CONSTRAINABLETYPE_H
00015 #define _CONSTRAINABLETYPE_H
00016 
00017 #include "Constraint.h"
00018 
00021 class XSIEXPORT CSLConstrainableType
00022 {
00023 public:
00028     virtual CSLConstraint* AddConstraint(CSLConstraint::EConstraintType in_ConstraintType) = 0;
00029 
00034     SI_Error RemoveConstraint( SI_Int in_nIndex );
00035 
00040     SI_Error RemoveConstraint( CSLConstraint *in_pToRemove );
00041 
00045     SI_Int GetConstraintCount();
00046 
00050     CSLConstraint** GetConstraintList();
00051 
00055     SI_Error ClearConstraints();
00056 
00061     CSLConstraint* ConnectConstraint( CSLConstraint* in_pNewConstraint );
00062 
00063     // overloaded methods /////////////////////////////////////////////////////
00064     SI_Error Synchronize();
00065 
00066 protected:
00067     CSLConstrainableType(CSLScene* in_pScene);
00068     virtual ~CSLConstrainableType();
00069 
00070 private:
00071     CSIBCArray<CSLConstraint*> m_Constraints;
00072     CSLScene *m_pScene;
00073 };
00074 
00075 
00076 #endif // _CONSTRAINABLETYPE_H
00077