MEPP2 Project
AIFMeshWriter.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 <set>
18 #include <boost/shared_ptr.hpp>
19 
21 
23 
24 namespace FEVV {
25 namespace DataStructures {
26 namespace AIF {
27 
28 
36 class AIFMeshWriter : public MeshWriterInterface< AIFMesh >
37 {
38 
39 public:
40  typedef AIFMeshWriter self;
44  typedef boost::shared_ptr< self > ptr_writer;
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  void write(const ptr_input inputMesh, const std::string &filePath);
64  void write(/*const*/ input_type &inputMesh, const std::string &filePath);
65 };
66 
67 } // namespace AIF
68 } // namespace DataStructures
69 } // namespace FEVV
70 
71 
73 
FEVV::DataStructures::AIF::AIFMeshWriter
This class represents an AIFMesh object writer. An AIFMeshWriter writes a mesh file (....
Definition: AIFMeshWriter.hpp:37
FEVV::DataStructures::AIF::AIFMeshWriter::ptr_input
superclass::ptr_input ptr_input
Definition: AIFMeshWriter.hpp:43
FEVV::DataStructures::MeshWriterInterface< AIFMesh >::ptr_input
boost::shared_ptr< input_type > ptr_input
Definition: MeshWriterInterface.h:26
FEVV::DataStructures::AIF::AIFMeshWriter::coord_type
AIFMesh::CoordinateType coord_type
Definition: AIFMeshWriter.hpp:46
FEVV::DataStructures::AIF::AIFMeshWriter::index_type
unsigned long index_type
Definition: AIFMeshWriter.hpp:50
FEVV::DataStructures::AIF::AIFMeshWriter::coordT_type
AIFMesh::CoordinateType coordT_type
Definition: AIFMeshWriter.hpp:49
FEVV::DataStructures::AIF::AIFMeshWriter::write
void write(const ptr_input inputMesh, const std::string &filePath)
Definition: AIFMeshWriter.inl:28
FEVV
Interfaces for plugins These interfaces will be used for different plugins.
Definition: Assert.h:16
AIFMesh.hpp
FEVV::DataStructures::AIF::AIFMeshWriter::coordN_type
AIFMesh::NormalCoordinateType coordN_type
Definition: AIFMeshWriter.hpp:47
FEVV::DataStructures::AIF::AIFMeshWriter::coordC_type
AIFMesh::CoordinateType coordC_type
Definition: AIFMeshWriter.hpp:48
FEVV::DataStructures::AIF::AIFMesh::CoordinateType
AIFVertex::CoordinateType CoordinateType
Definition: AIFMesh.hpp:62
MeshWriterInterface.h
AIFMeshWriter.inl
FEVV::DataStructures::AIF::AIFMeshWriter::input_type
superclass::input_type input_type
Definition: AIFMeshWriter.hpp:42
FEVV::DataStructures::AIF::AIFMeshWriter::ptr_writer
boost::shared_ptr< self > ptr_writer
Definition: AIFMeshWriter.hpp:44
FEVV::DataStructures::MeshWriterInterface< AIFMesh >::input_type
AIFMesh input_type
Definition: MeshWriterInterface.h:25
FEVV::DataStructures::AIF::AIFMeshWriter::superclass
MeshWriterInterface< AIFMesh > superclass
Definition: AIFMeshWriter.hpp:41
FEVV::DataStructures::AIF::AIFMesh::NormalCoordinateType
AIFFace::NormalCoordinateType NormalCoordinateType
Definition: AIFMesh.hpp:68
FEVV::DataStructures::MeshWriterInterface
Definition: MeshWriterInterface.h:22