VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtCommunicationLine.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Copyright (c) 2012 MAK Technologies, Inc.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #include <vrvCore/vrvCore.h>
00013 
00014 #include <vrvCore/DtBaseRadioVisualization.h>
00015 
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 
00018 #include <vrvCore/DtUniqueID.h>
00019 
00020 #include <matrix/vlVector.h>
00021 
00022 namespace makVrv
00023 {
00024 
00025    class DtSceneObjectAgent;
00026    class DtAttachableUpdaterAgent;
00027    class DtSegmentedLineModelAgent;
00028 
00032    class DT_DLL_VRVCORE DtCommunicationLine : public DtBaseRadioVisualization
00033    {
00034    public:
00035 
00037       virtual ~DtCommunicationLine();
00038 
00040       virtual void setDirection( AttachablePoint source, AttachablePoint dest );
00041 
00044 
00047       virtual void setColor( float red, float green, float blue, float alpha = 1.0f );
00048 
00053       virtual void setAnimationRate( float rate );
00054 
00056       virtual void animate( double t );
00057 
00059 
00061       virtual void setCurvedEarthExaggeration( float amount );
00062 
00066       virtual void setUseCurvedEarthLines( bool useCurved );
00067 
00069       virtual void setStartOffset( const DtVector& offset );
00070 
00072       virtual void setEndOffset( const DtVector& offset );
00073 
00074    protected:
00075 
00076       friend class DtCommunicationLineCreator;
00077 
00079       DtCommunicationLine( DtDe& de, int modelSet, int visualType,
00080          AttachablePoint source, AttachablePoint dest );
00081 
00085       virtual void initialize();
00086 
00091       virtual DtSegmentedLineModelAgent* instantiateLineModelAgent();
00092 
00098       virtual void initializeLineModelAgent( DtSegmentedLineModelAgent* agent );
00099 
00103       virtual void slot_coordinateSystemChanged();
00104 
00105    protected:
00106 
00107       DtAttachableUpdaterAgent* myUpdater;
00108       DtSegmentedLineModelAgent* myLineModel;
00109 
00110       DtSceneObjectAgent* mySceneObject;
00111 
00112       int myModelSet;
00113       int myVisualType;
00114 
00115       bool myReverseDirectionFlag;
00116       bool myCurvedEarthModeFlag;
00117 
00118       float myCurvedEarthExaggerationAmount;
00119 
00120       unsigned short myStipplePattern;
00121 
00122       float myAnimationRate;
00123 
00124       AttachablePoint myStartPoint;
00125       AttachablePoint myEndPoint;
00126 
00127       float myLineColorR;
00128       float myLineColorG;
00129       float myLineColorB;
00130       float myLineColorA;
00131 
00132       DtDe& myDe;
00133 
00134    };
00135 
00136 
00141    class DT_DLL_VRVCORE DtCommunicationLineCreator : public DtVirtualBaseClass
00142    {
00143    public:
00144 
00148       static DtCommunicationLineCreator& instance( DtDe& de );
00149 
00151       DtCommunicationLineCreator( DtDe& de );
00152 
00155       DtCommunicationLine* create( int modelSet, int visualizerType,
00156          DtCommunicationLine::AttachablePoint source,
00157          DtCommunicationLine::AttachablePoint dest );
00158 
00159    protected:
00160 
00161       DtDe& myDe;
00162 
00163    };
00164 
00165 }

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)