00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects Software Inc 00008 * 123 Front Street West, Suite 1401 00009 * Toronto, Ontario 00010 * Canada M5J 2M2 00011 * 416-504-9876 00012 */ 00013 00014 #ifndef __SIM_ConAnchorWorldSpacePos_h__ 00015 #define __SIM_ConAnchorWorldSpacePos_h__ 00016 00017 #include "SIM_API.h" 00018 #include "SIM_ConAnchorSpatial.h" 00019 00020 /// A concrete constraint source: the "nail" constraint, locked to a 00021 /// (possibly animated) position in worldspace. 00022 class SIM_API SIM_ConAnchorWorldSpacePos : public SIM_ConAnchorSpatial 00023 { 00024 public: 00025 GETSET_DATA_FUNCS_V3(SIM_NAME_POSITION, Position); 00026 GETSET_DATA_FUNCS_V3(SIM_NAME_VELOCITY, Velocity); 00027 00028 protected: 00029 explicit SIM_ConAnchorWorldSpacePos(const SIM_DataFactory *f); 00030 virtual ~SIM_ConAnchorWorldSpacePos(); 00031 00032 virtual UT_Vector3 getPositionSubclass(const SIM_Time &time) const; 00033 virtual UT_Vector3 getVelocitySubclass(const SIM_Time &) const; 00034 00035 private: 00036 static const SIM_DopDescription *getDopDescription(); 00037 00038 DECLARE_STANDARD_GETCASTTOTYPE(); 00039 DECLARE_DATAFACTORY(SIM_ConAnchorWorldSpacePos, 00040 SIM_ConAnchorSpatial, 00041 "Anchor: World Space Position", 00042 getDopDescription()); 00043 }; 00044 00045 #endif
1.5.9