![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtTerrainOverlayOperation.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtOverlayOperation_H_ 00014 #define DtOverlayOperation_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 00018 #include <string> 00019 #include <vector> 00020 00021 namespace makVrv 00022 { 00025 class DT_DLL_VRVCORE DtTerrainOverlayOperation 00026 { 00027 public: 00028 enum OverlayType 00029 { 00030 InvalidOperation = -1, 00031 00032 NoOperation = 0, 00033 00034 SourceBase, 00035 SourceMatrixReset, 00036 00037 BlankBase, 00038 RasterTextureStart = 4, 00039 00040 RasterTextureEnd = 104, 00041 ElevationOverlay, 00042 ContourOverlay 00043 }; 00044 00045 public: 00047 DtTerrainOverlayOperation(); 00048 00050 DtTerrainOverlayOperation(const DtTerrainOverlayOperation&); 00051 00053 DtTerrainOverlayOperation& operator=(const DtTerrainOverlayOperation&); 00054 00056 DtTerrainOverlayOperation(OverlayType type, std::string definition); 00058 DtTerrainOverlayOperation(OverlayType type, std::string definition, std::vector<double> scale, std::vector<double> offset); 00060 DtTerrainOverlayOperation(OverlayType type, std::string definition, double xscale, double yscale, double xoffset, double yoffset); 00061 00063 virtual OverlayType operation() const; 00064 00066 virtual const std::string definition() const; 00067 00069 virtual const std::vector<double> scale() const; 00071 virtual bool scale(double& x, double& y) const; 00072 00074 virtual const std::vector<double> offset() const; 00076 virtual bool offset(double& x, double& y) const; 00077 00079 virtual void setScale(const std::vector<double> scale); 00081 virtual void setScale(double x, double y); 00082 00084 virtual void setOffset(const std::vector<double> offset); 00086 virtual void setOffset(double x, double y); 00087 00089 virtual bool nop() const; 00090 00092 virtual bool base() const; 00093 00094 protected: 00095 OverlayType myOperation; 00096 std::string myDefinition; 00097 std::vector<double> myScale; 00098 std::vector<double> myOffset; 00099 }; 00100 } 00101 #endif /* DtOverlayOperation_H_ */