VR-Forces 4.0.4 Class Documentation
include/vrvDrawControl/DtLine2DObject.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2006 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtLine2DObject.h,v $ $Revision: 1.3 $ $State: Exp $
00007 ******************************************************************************/
00008 #pragma once
00009 
00014 
00015 #include <vector>
00016 
00017 #include <vlutil/vlString.h>
00018 #include <vl/exerciseConn.h>
00019 #include <vl/envLine.h>
00020 
00021 #include <vrvDrawControl/vrvDrawControlDefines.h>
00022 #include <vrvDrawControl/DtDrawControlObject.h>
00023 #include <vrvDrawControl/DtLineObjectInterface.h>
00024 #include <vrvDrawControl/DtVdcVector2D.h>
00025 #include <vrvDrawControl/DtVdcLineSegment.h>
00026 #include <vrvDrawControl/DtVdcColor.h>
00027 
00028 #include <vrfExtObjects/3dGraphicalObjectLineStateRecord.h>
00029 
00030 namespace vrvControlToolkit
00031 {
00039    class DT_DLL_VRVDRAWCONTROL DtLine2DObject : public DtDrawControlObject, public DtLineObjectInterface
00040    {
00041    public:
00076       DtLine2DObject( DtExerciseConn* exConn, unsigned id, const DtVdcVector2D& startPosition, 
00077          const DtVdcVector2D& endPosition, int numSegments=1, 
00078          DtVdcColor color = DtVdcColor::DtVdcWhite, 
00079          DtVdcLineSegment::DtVdcSegmentStyle lineStyle = 
00080          DtVdcLineSegment::DtVdcSegmentStyleStraight,
00081          DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle = 
00082          DtVdcLineSegment::DtVdcSegmentArrowStyleNoArrow, 
00083          unsigned thickness=1, unsigned pattern=0xffffff, bool flashing = false  );
00084 
00085       // \brief Virtual destructor
00086       virtual ~DtLine2DObject();
00087 
00088    private:
00093       DtLine2DObject();
00094 
00095    public:
00101       virtual DtVdcVector2D startPosition() const;
00102 
00108       virtual void setStartPosition( const DtVdcVector2D& startPosition );
00109 
00115       virtual DtVdcVector2D endPosition() const;
00116 
00122       virtual void setEndPosition( const DtVdcVector2D& endPosition );
00123 
00129       virtual int numSegments() const;
00130 
00136       virtual void setNumSegments( int numSegments );
00137 
00145       virtual const DtVdcColor& color( int segment ) const;
00146       virtual const DtVdcColor& color() const;
00147 
00155       virtual void setColor ( const DtVdcColor& color, int segment );
00156       virtual void setColor ( const DtVdcColor& color);
00157 
00165       virtual DtVdcLineSegment::DtVdcSegmentStyle lineStyle( int segment=0 ) const;
00166 
00174       virtual void setLineStyle( DtVdcLineSegment::DtVdcSegmentStyle lineStyle,
00175          int segment=0 );
00176 
00185       virtual DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle( int segment=0 )
00186          const;
00187 
00195       virtual void setArrowStyle( DtVdcLineSegment::DtVdcSegmentArrowStyle arrowStyle,
00196          int segment=0 );
00197 
00205       virtual unsigned pattern( int segment=0 ) const;
00206 
00214       virtual void setPattern( unsigned pattern, int segment=0 );
00215 
00223       virtual unsigned thickness( int segment=0 ) const;
00224 
00234       virtual void setThickness( unsigned thickness, int segment=0 );
00235 
00243       virtual double percentage( int segment ) const;
00244 
00254       virtual void setPercentage( double percentage, int segment );
00255 
00261       virtual bool flashing() const;
00262 
00268       virtual void setFlashing( bool flashing );
00269 
00270       virtual void setRemoteGraphicSet(const std::string& setName);
00271 
00272 
00274       virtual void update();
00275 
00276    protected:
00277       virtual void initRecords();
00278 
00279       DtVdcVector2D                 myStartPosition;
00280       DtVdcVector2D                 myEndPosition;
00281       bool                          myFlashing;
00282       std::vector<DtVdcLineSegment> myLineSegments;
00283 
00284       DtEnvironmentalLineRecord          myLineRecord;
00285       Dt3DGraphicalObjectLineStateRecord myLineStateRecord;
00286    };
00287 }

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)