1 // Copyright (C) 2009 - 2012 Mathias Froehlich - Mathias.Froehlich@web.de 2 // 3 // This library is free software; you can redistribute it and/or 4 // modify it under the terms of the GNU Library General Public 5 // License as published by the Free Software Foundation; either 6 // version 2 of the License, or (at your option) any later version. 7 // 8 // This library is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 // Library General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with this program; if not, write to the Free Software 15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 // 17 18 #ifndef HLACameraClass_hxx 19 #define HLACameraClass_hxx 20 21 #include <string> 22 #include <simgear/hla/HLAObjectClass.hxx> 23 24 namespace fgviewer { 25 26 class HLACameraClass : public simgear::HLAObjectClass { 27 public: 28 HLACameraClass(const std::string& name, simgear::HLAFederate* federate); 29 virtual ~HLACameraClass(); 30 31 /// Create a new instance of this class. 32 virtual simgear::HLAObjectInstance* createObjectInstance(const std::string& name); 33 34 virtual void createAttributeDataElements(simgear::HLAObjectInstance& objectInstance); 35 setNameIndex(const std::string & path)36 bool setNameIndex(const std::string& path) 37 { return getDataElementIndex(_nameIndex, path); } getNameIndex() const38 const simgear::HLADataElementIndex& getNameIndex() const 39 { return _nameIndex; } 40 setViewerIndex(const std::string & path)41 bool setViewerIndex(const std::string& path) 42 { return getDataElementIndex(_viewerIndex, path); } getViewerIndex() const43 const simgear::HLADataElementIndex& getViewerIndex() const 44 { return _viewerIndex; } 45 setDrawableIndex(const std::string & path)46 bool setDrawableIndex(const std::string& path) 47 { return getDataElementIndex(_drawableIndex, path); } getDrawableIndex() const48 const simgear::HLADataElementIndex& getDrawableIndex() const 49 { return _drawableIndex; } 50 setViewportIndex(const std::string & path)51 bool setViewportIndex(const std::string& path) 52 { return getDataElementIndex(_viewportIndex, path); } getViewportIndex() const53 const simgear::HLADataElementIndex& getViewportIndex() const 54 { return _viewportIndex; } 55 setPositionIndex(const std::string & path)56 bool setPositionIndex(const std::string& path) 57 { return getDataElementIndex(_positionIndex, path); } getPositionIndex() const58 const simgear::HLADataElementIndex& getPositionIndex() const 59 { return _positionIndex; } 60 setOrientationIndex(const std::string & path)61 bool setOrientationIndex(const std::string& path) 62 { return getDataElementIndex(_orientationIndex, path); } getOrientationIndex() const63 const simgear::HLADataElementIndex& getOrientationIndex() const 64 { return _orientationIndex; } 65 66 private: 67 simgear::HLADataElementIndex _nameIndex; 68 simgear::HLADataElementIndex _viewerIndex; 69 simgear::HLADataElementIndex _drawableIndex; 70 simgear::HLADataElementIndex _viewportIndex; 71 simgear::HLADataElementIndex _positionIndex; 72 simgear::HLADataElementIndex _orientationIndex; 73 }; 74 75 } // namespace fgviewer 76 77 #endif 78