![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: sdcTriangle2DObj.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 #pragma once 00009 00014 00015 #include <vlutil/vlString.h> 00016 00017 #include <vrfExtObjects/2dGraphicalObjectStateRecord.h> 00018 00019 #include <vrvDrawControl/vrvDrawControlDefines.h> 00020 #include <vrvDrawControl/DtVdcVector2D.h> 00021 #include <vrvDrawControl/DtDrawControlObject.h> 00022 #include <vrvDrawControl/DtVdcColor.h> 00023 00024 #include <vl/exerciseConn.h> 00025 00026 namespace vrvControlToolkit 00027 { 00033 class DT_DLL_VRVDRAWCONTROL DtTriangle2DObject : public DtDrawControlObject 00034 { 00035 public: 00070 DtTriangle2DObject(DtExerciseConn* exConn, unsigned id, const DtVdcVector2D& vertex1, 00071 const DtVdcVector2D& vertex2, const DtVdcVector2D& vertex3, 00072 const DtVdcVector2D& offset = DtVdcVector2D::zero(), 00073 const DtVdcVector2D& scale= DtVdcVector2D::ones(), 00074 double rotation = 0.0, DtVdcColor color = DtVdcColor::DtVdcWhite, 00075 bool fill = false, unsigned pattern = 0xffffffff, bool flashing = false ); 00076 00081 DtTriangle2DObject( const DtTriangle2DObject& orig ); 00082 00084 DtTriangle2DObject& operator=( const DtTriangle2DObject& rhs ); 00085 00086 // \brief Virtual destructor 00087 virtual ~DtTriangle2DObject(); 00088 00089 private: 00094 DtTriangle2DObject(); 00095 00096 public: 00102 virtual DtVdcVector2D vertex1() const; 00103 00109 virtual void setVertex1( const DtVdcVector2D& vertex ); 00110 00116 virtual DtVdcVector2D vertex2() const; 00117 00123 virtual void setVertex2( const DtVdcVector2D& vertex ); 00124 00130 virtual DtVdcVector2D vertex3() const; 00131 00137 virtual void setVertex3( const DtVdcVector2D& vertex ); 00138 00144 virtual DtVdcVector2D offset() const; 00145 00151 virtual void setOffset( const DtVdcVector2D& offset ); 00152 00158 virtual DtVdcVector2D scale() const; 00159 00165 virtual void setScale( const DtVdcVector2D& scale ); 00166 00172 virtual double rotation() const; 00173 00179 virtual void setRotation( double rotation ); 00180 00186 virtual const DtVdcColor& color() const; 00187 00193 virtual void setColor (const DtVdcColor& color ); 00194 00201 virtual bool fill() const; 00202 00209 virtual void setFill( bool fill ); 00210 00216 virtual unsigned pattern() const; 00217 00225 virtual void setPattern( unsigned pattern ); 00226 00232 virtual bool flashing() const; 00233 00239 virtual void setFlashing( bool flashing ); 00240 00241 virtual void setRemoteGraphicSet(const std::string& setName); 00242 00251 virtual void update(); 00252 00253 protected: 00254 00255 virtual DtVdcVector2D transformVertex(const DtVdcVector2D& v, const DtVdcVector2D& center) const; 00256 virtual void transformVertices(); 00257 00258 DtVdcVector2D myVertex1; 00259 DtVdcVector2D myVertex2; 00260 DtVdcVector2D myVertex3; 00261 DtVdcVector2D myOffset; 00262 DtVdcVector2D myScale; 00263 00264 DtVdcColor myColor; 00265 unsigned myPattern; 00266 bool myFill; 00267 double myRotation; 00268 bool myFlashing; 00269 00270 Dt2DGraphicalObjectStateRecord* myStateRecord; 00271 }; 00272 00273 }