1#include <Core/Containers/AlignedStdVector.hpp>
2#include <Core/Containers/VectorArray.hpp>
3#include <Core/CoreMacros.hpp>
4#include <Core/Geometry/IndexedGeometry.hpp>
6#include <Core/Utils/Attribs.hpp>
8#include <IO/deprecated/OFFFileManager.hpp>
44bool OFFFileManager::importData(
std::istream& file, Geometry::TriangleMesh& data ) {
48 addLogErrorEntry(
"HEADER IS NOT CORRECT." );
54 file >> v_size >> f_size >> e_size;
56 Geometry::TriangleMesh::PointAttribHandle::Container vertices;
57 Geometry::TriangleMesh::IndexContainerType indices;
58 vertices.resize( v_size );
59 indices.resize( f_size );
62 for ( uint i = 0; i < v_size; ++i ) {
64 file >> v[0] >> v[1] >> v[2];
69 for ( uint i = 0; i < e_size; ++i ) {
74 for ( uint i = 0; i < f_size; ++i ) {
79 file >> f[0] >> f[1] >> f[2];
80 indices.push_back( f );
89bool OFFFileManager::exportData(
std::ostream& file,
const Geometry::TriangleMesh& data ) {
91 const uint v_size = data.vertices().
size();
92 const uint f_size = data.getIndices().size();
93 const uint e_size = 0;
96 addLogErrorEntry(
"NO VERTICES PRESENT." );
105 for (
const auto& v : data.vertices() ) {
111 for (
const auto& f : data.getIndices() ) {
void setVertices(PointAttribHandle::Container &&vertices)
Set vertices.
void setIndices(IndexContainerType &&indices)
void clear() override
Erases all data, making the AttribArrayGeometry empty.
OFFFileManager()
CONSTRUCTOR.
std::string fileExtension() const override
INTERFACE.
~OFFFileManager() override
DESTRUCTOR.
std::string header() const
HEADER.
@ Geometry
"Geometry" render objects are those loaded using Radium::IO and generated by GeometrySystem
hepler function to manage enum as underlying types in VariableSet