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_ConAnchorObjSpaceRot_h__ 00016 #define __SIM_ConAnchorObjSpaceRot_h__ 00017 00018 #include "SIM_API.h" 00019 #include "SIM_ConAnchorObjRotational.h" 00020 00021 /// A concrete constraint source: the "lookat" constraint, set to 00022 /// track the orientation from one object to another. 00023 class SIM_API SIM_ConAnchorObjSpaceRot : public SIM_ConAnchorObjRotational 00024 { 00025 public: 00026 /// Object-space offset. 00027 GETSET_DATA_FUNCS_V3(SIM_NAME_OFFSET, Offset); 00028 00029 protected: 00030 explicit SIM_ConAnchorObjSpaceRot(const SIM_DataFactory *f); 00031 virtual ~SIM_ConAnchorObjSpaceRot(); 00032 00033 virtual void initParmsFromWorldSpacePositionSubclass( 00034 const UT_Vector3 &worldspacepos, 00035 const SIM_Object *object); 00036 00037 virtual UT_Vector3 getGuidePositionSubclass( 00038 const SIM_Time &time) const; 00039 virtual UT_Quaternion getOrientationSubclass( 00040 const SIM_Time &time) const; 00041 00042 private: 00043 static const SIM_DopDescription *getDopDescription(); 00044 00045 DECLARE_STANDARD_GETCASTTOTYPE(); 00046 DECLARE_DATAFACTORY(SIM_ConAnchorObjSpaceRot, 00047 SIM_ConAnchorObjRotational, 00048 "Anchor: Object Space Rotation", 00049 getDopDescription()); 00050 }; 00051 00052 #endif 00053
1.5.9