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 * Jeff Lait 00008 * Side Effects Software Inc 00009 * 123 Front Street West, Suite 1401 00010 * Toronto, Ontario 00011 * Canada M5J 2M2 00012 * 416-504-9876 00013 */ 00014 00015 #ifndef __SIM_ConAnchorWorldSpaceRot_h__ 00016 #define __SIM_ConAnchorWorldSpaceRot_h__ 00017 00018 #include "SIM_API.h" 00019 #include <UT/UT_Vector2.h> 00020 #include "SIM_ConAnchorRotational.h" 00021 00022 /// A concrete constraint source: the "lookat" constraint, set to 00023 /// track the orientation from one object to another. 00024 class SIM_API SIM_ConAnchorWorldSpaceRot : public SIM_ConAnchorRotational 00025 { 00026 public: 00027 GETSET_DATA_FUNCS_V3(SIM_NAME_WORLDSPACEPOS, WorldSpacePosition); 00028 GETSET_DATA_FUNCS_V3(SIM_NAME_ANGVELOCITY, AngularVelocity); 00029 00030 protected: 00031 explicit SIM_ConAnchorWorldSpaceRot(const SIM_DataFactory *f); 00032 virtual ~SIM_ConAnchorWorldSpaceRot(); 00033 00034 virtual UT_Vector3 getGuidePositionSubclass( 00035 const SIM_Time &time) const; 00036 virtual UT_Quaternion getOrientationSubclass( 00037 const SIM_Time &time) const; 00038 virtual UT_Vector3 getAngularVelocitySubclass( 00039 const SIM_Time &time) const; 00040 00041 private: 00042 static const SIM_DopDescription *getDopDescription(); 00043 00044 DECLARE_STANDARD_GETCASTTOTYPE(); 00045 DECLARE_DATAFACTORY(SIM_ConAnchorWorldSpaceRot, 00046 SIM_ConAnchorRotational, 00047 "Anchor: World Space Rotation", 00048 getDopDescription()); 00049 }; 00050 00051 #endif 00052
1.5.9