![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVdc3DAttachPoint.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ******************************************************************************/ 00008 #pragma once 00009 00017 #include <matrix/vlVector.h> 00018 #include <vl/globalObjDes.h> 00019 00020 #include <vrvDrawControl/vrvDrawControlDefines.h> 00021 00022 namespace vrvControlToolkit 00023 { 00033 00034 00035 class DT_DLL_VRVDRAWCONTROL DtVdc3DAttachPoint 00036 { 00037 public: 00038 typedef enum 00039 { 00040 attachmentTypeUndefined = 0, 00041 attachmentTypeScene = 1, 00042 attachmentTypeEntity = 2, 00043 attachmentTypeDrawObject = 3 00044 } DtVdc3DAttachmentType; 00045 00046 public: 00051 DtVdc3DAttachPoint( const DtVector& location ); 00052 00057 DtVdc3DAttachPoint( const DtGlobalObjectDesignator& entityId ); 00058 00069 DtVdc3DAttachPoint( const DtGlobalObjectDesignator& drawObjectId, double relativePosition); 00070 00072 DtVdc3DAttachPoint( const DtVdc3DAttachPoint& orig ); 00073 00075 DtVdc3DAttachPoint& operator=( const DtVdc3DAttachPoint& rhs ); 00076 00078 virtual ~DtVdc3DAttachPoint(); 00079 00081 DtVdc3DAttachPoint(); 00082 00083 public: 00084 00090 virtual DtVdc3DAttachmentType attachmentType() const; 00091 00098 virtual DtVector location() const; 00099 virtual DtVector& location(); 00100 00108 virtual void setLocation( DtVector location ); 00109 00116 virtual const DtGlobalObjectDesignator& drawObjectId() const; 00117 00125 virtual void setDrawObjectId( const DtGlobalObjectDesignator& drawObjectId ); 00126 00131 virtual double relativePosition() const; 00132 00137 virtual void setRelativePosition( double relativePosition ); 00138 00146 virtual DtGlobalObjectDesignator entityId() const; 00147 00155 virtual void setEntityId( const DtGlobalObjectDesignator& entityId ); 00156 00157 virtual bool isAttached() const; 00158 00159 virtual const DtGlobalObjectDesignator& attachedId() const; 00160 00161 protected: 00162 00163 DtVector myLocation; 00164 DtGlobalObjectDesignator myAttachedId; 00165 double myRelativePosition; 00166 00167 DtVdc3DAttachmentType myAttachmentType; 00168 }; 00169 }