MEPP2 Project
AIFMeshReader.hpp
Go to the documentation of this file.
1 // Copyright (c) 2012-2019 University of Lyon and CNRS (France).
2 // All rights reserved.
3 //
4 // This file is part of MEPP2; you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as
6 // published by the Free Software Foundation; either version 3 of
7 // the License, or (at your option) any later version.
8 //
9 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
10 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
11 #pragma once
12 
13 #include <iostream>
14 #include <sstream>
15 #include <fstream>
16 #include <vector>
17 #include <boost/shared_ptr.hpp>
18 
20 
22 
23 namespace FEVV {
24 namespace DataStructures {
25 namespace AIF {
26 
27 
36 class AIFMeshReader : public MeshReaderInterface< AIFMesh >
37 {
38 
39 public:
40  typedef AIFMeshReader self;
44  typedef boost::shared_ptr< self > ptr_reader;
45 
46  typedef AIFMesh::CoordinateType coord_type; // position coordinate type
47  typedef AIFMesh::NormalCoordinateType coordN_type; // normal coordinate type
48  typedef AIFMesh::CoordinateType coordC_type; // color coordinate type
49  typedef AIFMesh::CoordinateType coordT_type; // texture coordinate type
50  typedef unsigned long index_type;
51 
52 public:
58  ptr_output read(const std::string &filePath);
59 };
60 
61 } // namespace AIF
62 } // namespace DataStructures
63 } // namespace FEVV
64 
65 
FEVV::DataStructures::AIF::AIFMeshReader::coordT_type
AIFMesh::CoordinateType coordT_type
Definition: AIFMeshReader.hpp:49
FEVV::DataStructures::AIF::AIFMeshReader::coordN_type
AIFMesh::NormalCoordinateType coordN_type
Definition: AIFMeshReader.hpp:47
FEVV::DataStructures::AIF::AIFMeshReader::coord_type
AIFMesh::CoordinateType coord_type
Definition: AIFMeshReader.hpp:46
FEVV::DataStructures::AIF::AIFMeshReader::coordC_type
AIFMesh::CoordinateType coordC_type
Definition: AIFMeshReader.hpp:48
FEVV::DataStructures::AIF::AIFMeshReader::ptr_output
superclass::ptr_output ptr_output
Definition: AIFMeshReader.hpp:43
FEVV::DataStructures::AIF::AIFMeshReader::superclass
MeshReaderInterface< AIFMesh > superclass
Definition: AIFMeshReader.hpp:41
FEVV::DataStructures::AIF::AIFMeshReader::read
ptr_output read(const std::string &filePath)
Definition: AIFMeshReader.inl:50
FEVV::DataStructures::MeshReaderInterface::ptr_output
boost::shared_ptr< output_type > ptr_output
Definition: MeshReaderInterface.h:26
FEVV::DataStructures::AIF::AIFMeshReader::output_type
superclass::output_type output_type
Definition: AIFMeshReader.hpp:42
MeshReaderInterface.h
FEVV
Interfaces for plugins These interfaces will be used for different plugins.
Definition: Assert.h:16
AIFMesh.hpp
FEVV::DataStructures::AIF::AIFMesh::CoordinateType
AIFVertex::CoordinateType CoordinateType
Definition: AIFMesh.hpp:62
AIFMeshReader.inl
FEVV::DataStructures::AIF::AIFMesh
This class represents an AIF structure. AIF structure can deal with both manifold and non-manifold su...
Definition: AIFMesh.hpp:47
FEVV::DataStructures::MeshReaderInterface
Definition: MeshReaderInterface.h:22
FEVV::DataStructures::AIF::AIFMeshReader
This class represents an AIFMesh object reader. An AIFMeshReader reads a mesh file (....
Definition: AIFMeshReader.hpp:37
FEVV::DataStructures::AIF::AIFMeshReader::ptr_reader
boost::shared_ptr< self > ptr_reader
Definition: AIFMeshReader.hpp:44
FEVV::DataStructures::AIF::AIFMesh::NormalCoordinateType
AIFFace::NormalCoordinateType NormalCoordinateType
Definition: AIFMesh.hpp:68
FEVV::DataStructures::AIF::AIFMeshReader::index_type
unsigned long index_type
Definition: AIFMeshReader.hpp:50