openmbvcppinterface 3.1.0 OpenMBV C++ Interface

indexedfaceset.h
1 /*
2 OpenMBV - Open Multi Body Viewer.
3 Copyright (C) 2009 Markus Friedrich
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20 #ifndef _OPENMBV_INDEXEDFACESET_H
21 #define _OPENMBV_INDEXEDFACESET_H
22
23 #include <openmbvcppinterface/rigidbody.h>
24 #include <vector>
25
26 namespace OpenMBV {
27
29 class IndexedFaceSet : public RigidBody {
30 friend class ObjectFactory;
31 protected:
32 std::vector<std::vector<double> > vp;
33 std::vector<Index> indices;
34 IndexedFaceSet() = default;
35 ~IndexedFaceSet() override = default;
36 public:
39 const std::vector<std::vector<double> >& getVertexPositions() { return vp; }
42 const std::vector<Index>& getIndices() { return indices; }
43
46 void setVertexPositions(const std::vector<std::vector<double> > &vp_) { vp = vp_; }
49 void setIndices(const std::vector<Index> &indices_) { indices = indices_; }
50
52 void initializeUsingXML(xercesc::DOMElement *element) override;
53
54 xercesc::DOMElement *writeXMLFile(xercesc::DOMNode *parent) override;
55 };
56
57 }
58
59 #endif
OpenMBV::IndexedFaceSet
Definition: indexedfaceset.h:29
OpenMBV::IndexedFaceSet::getVertexPositions
const std::vector< std::vector< double > > & getVertexPositions()
Definition: indexedfaceset.h:39
OpenMBV::RigidBody
Abstract base class for all rigid bodies.
Definition: rigidbody.h:68
OpenMBV::ObjectFactory
Definition: objectfactory.h:38
OpenMBV::IndexedFaceSet::setVertexPositions
void setVertexPositions(const std::vector< std::vector< double > > &vp_)
Definition: indexedfaceset.h:46
OpenMBV::IndexedFaceSet::initializeUsingXML
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: indexedfaceset.cc:44
OpenMBV::IndexedFaceSet::setIndices
void setIndices(const std::vector< Index > &indices_)
Definition: indexedfaceset.h:49
OpenMBV::IndexedFaceSet::getIndices
const std::vector< Index > & getIndices()
Definition: indexedfaceset.h:42