VR-Forces 4.0.4 Class Documentation
include/vrvDrawControl/DtTriangle2DObject.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)