12#ifndef __VTPExtension_H
13#define __VTPExtension_H
15#include "Gedim_Macro.hpp"
23#include "vtkAppendFilter.h"
24#include "vtkCellData.h"
25#include "vtkCellType.h"
26#include "vtkCellTypes.h"
27#include "vtkDoubleArray.h"
29#include "vtkPointData.h"
31#include "vtkPolyData.h"
32#include "vtkSmartPointer.h"
33#include "vtkUnstructuredGrid.h"
34#include "vtkWeakPointer.h"
35#include "vtkXMLPolyDataWriter.h"
36#include "vtkXMLUnstructuredGridWriter.h"
62 const Eigen::VectorXi &
Edge;
93 const std::vector<std::vector<unsigned int>> &
Polygons;
106 VTPPolyhedron(
const Eigen::MatrixXd &vertices,
const std::vector<std::vector<unsigned int>> &faces)
166 std::list<IGeometryToPolyData *> geometries;
178 void AddPoint(
const Eigen::Vector3d &
point,
const std::vector<VTPProperty> &properties = {});
179 void AddPoints(
const Eigen::MatrixXd &points,
const std::vector<VTPProperty> &properties = {});
180 void AddSegment(
const Eigen::Vector3d &origin,
const Eigen::Vector3d &end,
const std::vector<VTPProperty> &properties = {});
181 void AddSegment(
const Eigen::MatrixXd &vertices,
const std::vector<VTPProperty> &properties = {});
182 void AddSegment(
const Eigen::MatrixXd &vertices,
const Eigen::VectorXi &edge,
const std::vector<VTPProperty> &properties = {});
183 void AddSegments(
const Eigen::MatrixXd &vertices,
const Eigen::MatrixXi &edges,
const std::vector<VTPProperty> &properties = {});
184 void AddPolygon(
const Eigen::MatrixXd &vertices,
const std::vector<VTPProperty> &properties = {});
185 void AddPolygon(
const Eigen::MatrixXd &vertices,
186 const std::vector<unsigned int> &polygon,
187 const std::vector<VTPProperty> &properties = {});
189 const std::vector<Eigen::MatrixXi> &polygons,
190 const std::vector<VTPProperty> &properties = {});
192 const std::vector<std::vector<unsigned int>> &polygons,
193 const std::vector<VTPProperty> &properties = {});
195 const Eigen::MatrixXi &edges,
196 const std::vector<Eigen::MatrixXi> &faces,
197 const std::vector<VTPProperty> &properties = {});
199 const std::vector<std::vector<unsigned int>> &polyhedronFaces,
200 const std::vector<VTPProperty> &properties = {});
202 const std::vector<std::vector<std::vector<unsigned int>>> &polyhedronsFaces,
203 const std::vector<VTPProperty> &properties = {});
Eigen column vector.
Definition Eigen_Array.hpp:23
Definition VTKUtilities.hpp:209
~GeometryToPolyData()
Definition VTKUtilities.cpp:277
const std::vector< VTPProperty > & properties
Definition VTKUtilities.hpp:212
const T & geometry
Definition VTKUtilities.hpp:211
Definition VTKUtilities.hpp:144
virtual ~IGeometryToPolyData()
Definition VTKUtilities.hpp:146
Definition VTKUtilities.hpp:156
ExportFormats
Definition VTKUtilities.hpp:159
@ Ascii
Definition VTKUtilities.hpp:161
@ Appended
Definition VTKUtilities.hpp:162
@ Binary
Definition VTKUtilities.hpp:160
void Export(const std::string &filePath, const ExportFormats &format=ExportFormats::Binary) const
Definition VTKUtilities.cpp:236
void AddPolyhedron(const Eigen::MatrixXd &vertices, const Eigen::MatrixXi &edges, const std::vector< Eigen::MatrixXi > &faces, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:179
void AddPoint(const Eigen::Vector3d &point, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:41
void AddSegment(const Eigen::Vector3d &origin, const Eigen::Vector3d &end, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:65
void AddPolygons(const Eigen::MatrixXd &vertices, const std::vector< Eigen::MatrixXi > &polygons, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:149
void AddPolyhedrons(const Eigen::MatrixXd &vertices, const std::vector< std::vector< std::vector< unsigned int > > > &polyhedronsFaces, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:221
void AddPoints(const Eigen::MatrixXd &points, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:53
void AddPolygon(const Eigen::MatrixXd &vertices, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:119
VTKUtilities()
Definition VTKUtilities.cpp:25
~VTKUtilities()
Definition VTKUtilities.cpp:28
void AddSegments(const Eigen::MatrixXd &vertices, const Eigen::MatrixXi &edges, const std::vector< VTPProperty > &properties={})
Definition VTKUtilities.cpp:106
Definition Eigen_Array.cpp:22
Definition VTKUtilities.hpp:42
const Eigen::Vector3d & Point
Definition VTKUtilities.hpp:43
VTPPoint(const Eigen::Vector3d &point)
Definition VTKUtilities.hpp:45
Definition VTKUtilities.hpp:51
const Eigen::MatrixXd & Points
Definition VTKUtilities.hpp:52
VTPPoints(const Eigen::MatrixXd &points)
Definition VTKUtilities.hpp:54
Definition VTKUtilities.hpp:80
VTPPolygon(const Eigen::MatrixXd &vertices, const std::vector< unsigned int > &polygon)
Definition VTKUtilities.hpp:84
const std::vector< unsigned int > & Polygon
Definition VTKUtilities.hpp:82
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:81
Definition VTKUtilities.hpp:91
const std::vector< std::vector< unsigned int > > & Polygons
Definition VTKUtilities.hpp:93
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:92
VTPPolygons(const Eigen::MatrixXd &vertices, const std::vector< std::vector< unsigned int > > &polygons)
Definition VTKUtilities.hpp:95
Definition VTKUtilities.hpp:102
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:103
VTPPolyhedron(const Eigen::MatrixXd &vertices, const std::vector< std::vector< unsigned int > > &faces)
size numFaces x numFaceVertices
Definition VTKUtilities.hpp:106
const std::vector< std::vector< unsigned int > > & PolyhedronFaces
size 3xnumVertices
Definition VTKUtilities.hpp:104
Definition VTKUtilities.hpp:113
const std::vector< std::vector< std::vector< unsigned int > > > & PolyhedronsFaces
size 3xnumVertices
Definition VTKUtilities.hpp:115
VTPPolyhedrons(const Eigen::MatrixXd &vertices, const std::vector< std::vector< std::vector< unsigned int > > > &polyhedronsFaces)
Definition VTKUtilities.hpp:119
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:114
Definition VTKUtilities.hpp:126
const double * Data
Definition VTKUtilities.hpp:140
std::string Label
Definition VTKUtilities.hpp:136
Formats
Definition VTKUtilities.hpp:128
@ PointsArray2
Definition VTKUtilities.hpp:133
@ PointsArray
Definition VTKUtilities.hpp:131
@ Points
Definition VTKUtilities.hpp:129
@ Cells
Definition VTKUtilities.hpp:130
@ CellsArray
Definition VTKUtilities.hpp:132
Formats Format
Definition VTKUtilities.hpp:137
unsigned int Size
Definition VTKUtilities.hpp:139
Definition VTKUtilities.hpp:60
const Eigen::VectorXi & Edge
Definition VTKUtilities.hpp:62
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:61
VTPSegment(const Eigen::MatrixXd &vertices, const Eigen::VectorXi &edge)
Definition VTKUtilities.hpp:64
Definition VTKUtilities.hpp:70
const Eigen::MatrixXd & Vertices
Definition VTKUtilities.hpp:71
VTPSegments(const Eigen::MatrixXd &vertices, const Eigen::MatrixXi &edges)
Definition VTKUtilities.hpp:74
const Eigen::MatrixXi & Edges
Definition VTKUtilities.hpp:72