VR-Forces 4.0.4 Class Documentation
include/vrvOsg/DtOsgOverlayEllipseArcModelInstance.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Copyright (c) 2010 MAK Technologies, Inc.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 /*****************************************************************************
00006  * $RCSfile: DtOsgOverlayEllipseArcModelInstance.h,v $ $Revision: 1.0 $ $State: Exp $
00007  *****************************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvOsg/vrvOsg.h>
00015 #include <vrvOsg/DtOsgModelInstance.h>
00016 #include <matrix/vlDcm.h>
00017 #include <osg/Vec2>
00018 
00019 namespace makVrv
00020 {
00021 
00022    class DtDe;
00023    class DtPolygon;
00024 
00027    class DT_DLL_VRVOSG DtOsgOverlayEllipseArcModelInstance : public DtOsgModelInstance
00028    {
00029    public:
00030 
00032       DtOsgOverlayEllipseArcModelInstance( DtDe& de );
00033 
00035       virtual ~DtOsgOverlayEllipseArcModelInstance();
00036 
00038       virtual void setModelSet( int modelSet );
00039 
00040    public:
00041 
00043       virtual void setMaxAngleSegment( double angleSegmentMax );
00044 
00046       virtual void setGeometry( double angle, double sweep );
00047 
00049       virtual void setDimensions( float x, float y );
00050 
00052       virtual void setRelativePosition( double x, double y, double z );
00053 
00055       virtual void setPosition( const DtVector& position );
00056 
00058       virtual void setOrientation( const DtTaitBryan& orientation );
00059 
00061       virtual void setScale( float scale );
00062 
00064       virtual void setColor( float r, float g, float b, float a );
00065 
00067       virtual void setInsideColor( float r, float g, float b, float a );
00068 
00070       virtual void setOutsideColor( float r, float g, float b, float a );
00071 
00073       virtual void setLockUpdates( bool lock );
00074 
00076       virtual void setVisible( bool isVisible );
00077 
00079       virtual void setFill(bool);
00080 
00082       virtual void setOutlineWidth(float);
00083 
00085       virtual void setEventsEnabled(bool, unsigned long long userData);
00086 
00087    protected:
00088 
00090       virtual void createPolygonIfNecessary();
00091 
00092 
00094       virtual void updateVertices();
00095 
00097       virtual void updateColors();
00098 
00099 
00101       virtual void set3DVertexPosition( unsigned int index, double x, double y, double z );
00102 
00104       virtual void set3DCentroidPosition( double x, double y, double z );
00105 
00107       virtual void set3DPositionAux( double x, double y, double z, float tempPackedCoords[4] );
00108 
00109    protected:
00110 
00111       unsigned int myModelSet;
00112       DtDcm myOrientationDcm;
00113       double myMaxAngleSegment;
00114 
00115       osg::Vec4 myInnerColor;
00116       osg::Vec4 myOuterColor;
00117       osg::Vec2 myDimensions;
00118       osg::Vec3d myRelativePosition;
00119       osg::Vec3d myPosition;
00120       float myScale;
00121 
00122       double myAngle;
00123       double mySweep;
00124 
00125       bool myLockUpdates;
00126       bool myDirtyColors;
00127       bool myDirtyVertices;
00128 
00129       bool myPositionSetFlag;
00130       bool myFillPolygon;
00131 
00132       float myWidth;
00133       bool myEventsEnabled;
00134       unsigned long long myUserData;
00135 
00136       bool myVisible;
00137       DtPolygon* myPolygon;
00138 
00139    };
00140 
00141 }

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)