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_ConAnchorObjPointPos_h__ 00015 #define __SIM_ConAnchorObjPointPos_h__ 00016 00017 #include "SIM_API.h" 00018 #include "SIM_ConAnchorObjSpatial.h" 00019 #include "SIM_Geometry.h" 00020 00021 class SIM_API SIM_ConAnchorObjPointPos : public SIM_ConAnchorObjSpatial 00022 { 00023 public: 00024 GETSET_DATA_FUNCS_S(SIM_NAME_GEOMETRY, GeometryName); 00025 00026 /// Store the point number if we are anchored to a geometry point. 00027 int getPoint() const; 00028 void setPoint(int ptnum); 00029 00030 protected: 00031 explicit SIM_ConAnchorObjPointPos(const SIM_DataFactory *f); 00032 virtual ~SIM_ConAnchorObjPointPos(); 00033 00034 virtual void initParmsFromWorldSpacePositionSubclass( 00035 const UT_Vector3 &worldspacepos, 00036 const SIM_Object *object); 00037 virtual UT_Vector3 getPositionSubclass(const SIM_Time &time) const; 00038 virtual UT_Vector3 getVelocitySubclass(const SIM_Time &time) const; 00039 00040 virtual int getPointSubclass() const = 0; 00041 virtual void setPointSubclass(int ptnum) = 0; 00042 00043 const SIM_Geometry *getGeometry(const SIM_Object *object) const; 00044 00045 private: 00046 DECLARE_STANDARD_GETCASTTOTYPE(); 00047 DECLARE_CLASSNAME(SIM_ConAnchorObjPointPos, SIM_ConAnchorObjSpatial); 00048 }; 00049 00050 #endif
1.5.9