VR-Forces 4.0.4 Class Documentation
include/vrvDrawControl/DtArea3DObject.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtArea3DObject.h,v $ $Revision: 1.4 $ $State: Exp $
00007 ******************************************************************************/
00008 #pragma once
00009 
00017 
00018 #include <vector>
00019 
00020 #include <vlutil/vlString.h>
00021 
00022 #include <vrvDrawControl/vrvDrawControlDefines.h>
00023 
00024 #include <vrvDrawControl/DtDrawControlObject.h>
00025 
00026 #include <vrvDrawControl/DtVdcColor.h>
00027 
00028 #include <vl/envPoint.h>
00029 #include <vl/envBndSphere.h>
00030 #include <vrfExtObjects/3dGraphicalObjectStateRecord.h>
00031 
00032 
00043 
00044 namespace vrvControlToolkit
00045 {
00046    class DT_DLL_VRVDRAWCONTROL DtArea3DObject : public DtDrawControlObject
00047    {
00048    public:
00059       DtArea3DObject(DtExerciseConn* exConn, unsigned id, std::vector<DtVector> vertices, 
00060          DtVector offset = DtVector::zero(),
00061          DtVdcColor color = DtVdcColor::DtVdcWhite, 
00062          const DtString& textureDirectory = "", 
00063          const DtString& textureFilename = DtString::nullString(),
00064          int numTextureTiles = 0, bool flashing = false);
00065 
00066       // \brief Virtual destructor
00067       virtual ~DtArea3DObject();
00068 
00069    private:
00074       DtArea3DObject();
00075 
00079       DtArea3DObject(const DtArea3DObject& orig);
00080 
00084       DtArea3DObject& operator=(const DtArea3DObject& rhs);
00085 
00086    public:
00093       virtual const DtVector& offset() const;
00094 
00100       virtual void setOffset(const DtVector& off);
00101 
00109       virtual const DtVdcColor& color() const;
00110 
00118       virtual void setColor (const DtVdcColor& color);
00119 
00125       virtual bool flashing() const;
00126 
00132       virtual void setFlashing(bool flashing);
00133 
00139       virtual const DtString& textureDirectory() const;
00140 
00146       virtual void setTextureDirectory(const DtString& str);
00147 
00153       virtual const DtString& textureFilename() const;
00154 
00160       virtual void setTextureFilename(const DtString& str);
00161 
00162 
00168       virtual int numTextureTiles() const;
00169 
00175       virtual void setNumTextureTiles(int numTextureTiles);
00176 
00185       virtual void update();
00186 
00195       virtual const DtVector& vertex(int index) const;
00196       //virtual DtVector& vertex();
00197 
00205       virtual void setVertex(int index, const DtVector& vertex);
00206 
00207       virtual void setRemoteGraphicSet(const std::string& setName);
00208 
00209    protected:
00210       virtual void calculateBoundingSphere();
00211       virtual void setStateRecordUserData();
00212       void initRecords();
00213 
00214    protected:
00215       DtVector myOffset;
00216       DtVdcColor myColor;
00217       bool myFlashing;
00218       int myNumVertices;
00219       std::vector<DtVector> myVertices;
00220 
00221       DtString myTextureFilename;
00222       DtString myTextureDirectory;
00223       int myNumTextureTiles;
00224 
00225       std::vector<DtEnvironmentalPointRecord> myPointRecords;
00226       DtEnvironmentalBoundingSphereRecord     myBoundingSphereRecord;
00227       Dt3DGraphicalObjectStateRecord          myStateRecord;
00228 
00229       DtVector myEmptyVertex;
00230    };
00231 }

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)