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_ConAnchorObjPointRot_h__ 00015 #define __SIM_ConAnchorObjPointRot_h__ 00016 00017 #include "SIM_API.h" 00018 #include "SIM_ConAnchorObjRotational.h" 00019 #include "SIM_Geometry.h" 00020 00021 class SIM_API SIM_ConAnchorObjPointRot : public SIM_ConAnchorObjRotational 00022 { 00023 public: 00024 GETSET_DATA_FUNCS_S(SIM_NAME_GEOMETRY, GeometryName); 00025 GETSET_DATA_FUNCS_S(SIM_NAME_ORIENTATTRIBNAME, OrientAttribName); 00026 GETSET_DATA_FUNCS_S(SIM_NAME_UPATTRIBNAME, UpAttribName); 00027 GETSET_DATA_FUNCS_S(SIM_NAME_OUTATTRIBNAME, OutAttribName); 00028 00029 int getPoint() const; 00030 void setPoint(int ptnum); 00031 00032 protected: 00033 explicit SIM_ConAnchorObjPointRot(const SIM_DataFactory *f); 00034 virtual ~SIM_ConAnchorObjPointRot(); 00035 00036 virtual void initParmsFromWorldSpacePositionSubclass( 00037 const UT_Vector3 &worldspacepos, 00038 const SIM_Object *object); 00039 virtual UT_Vector3 getGuidePositionSubclass( 00040 const SIM_Time &time) const; 00041 virtual UT_Quaternion getOrientationSubclass( 00042 const SIM_Time &time) const; 00043 virtual UT_Vector3 getAngularVelocitySubclass( 00044 const SIM_Time &time) const; 00045 00046 virtual int getPointSubclass() const = 0; 00047 virtual void setPointSubclass(int ptnum) = 0; 00048 00049 const SIM_Geometry *getGeometry(const SIM_Object *object) const; 00050 00051 private: 00052 DECLARE_STANDARD_GETCASTTOTYPE(); 00053 DECLARE_CLASSNAME(SIM_ConAnchorObjPointRot, SIM_ConAnchorObjRotational); 00054 }; 00055 00056 #endif
1.5.9