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_ConAnchorObjPrimPos_h__ 00015 #define __SIM_ConAnchorObjPrimPos_h__ 00016 00017 #include "SIM_API.h" 00018 #include <UT/UT_Vector2.h> 00019 #include "SIM_ConAnchorObjSpatial.h" 00020 00021 class SIM_API SIM_ConAnchorObjPrimPos : public SIM_ConAnchorObjSpatial 00022 { 00023 public: 00024 /// Store the primitive number if we are anchored to a geometry primitive. 00025 GETSET_DATA_FUNCS_I(SIM_NAME_PRIMITIVE, Primitive); 00026 /// (u,v) position within the primitive 00027 GETSET_DATA_FUNCS_UV(SIM_NAME_PRIMUV, PrimUV); 00028 00029 protected: 00030 explicit SIM_ConAnchorObjPrimPos(const SIM_DataFactory *f); 00031 virtual ~SIM_ConAnchorObjPrimPos(); 00032 00033 virtual void initParmsFromWorldSpacePositionSubclass( 00034 const UT_Vector3 &worldspacepos, 00035 const SIM_Object *object); 00036 virtual UT_Vector3 getPositionSubclass(const SIM_Time &time) const; 00037 virtual UT_Vector3 getVelocitySubclass(const SIM_Time &time) const; 00038 00039 private: 00040 static const SIM_DopDescription *getDopDescription(); 00041 00042 DECLARE_STANDARD_GETCASTTOTYPE(); 00043 DECLARE_DATAFACTORY(SIM_ConAnchorObjPrimPos, 00044 SIM_ConAnchorObjSpatial, 00045 "Anchor: Object Primitive Position", 00046 getDopDescription()); 00047 }; 00048 00049 #endif
1.5.9