25#ifndef __BITPIT_SURFUNSTRUCTURED_HPP__
26#define __BITPIT_SURFUNSTRUCTURED_HPP__
31#include "bitpit_patchkernel.hpp"
32#include "bitpit_lineunstructured.hpp"
42#if BITPIT_ENABLE_MPI==1
44 SurfUnstructured(
int dimension, MPI_Comm communicator, std::size_t haloSize = 1);
45 SurfUnstructured(
int id,
int dimension, MPI_Comm communicator, std::size_t haloSize = 1);
46 SurfUnstructured(std::istream &stream, MPI_Comm communicator, std::size_t haloSize = 1);
55 std::unique_ptr<PatchKernel>
clone()
const override;
61 long locatePoint(
const std::array<double, 3> &point)
const override;
67 int importSTL(
const std::string &filename,
int PIDOffset = 0,
bool PIDSquash =
false);
68 int importSTL(
const std::string &filename,
bool isBinary,
int PIDOffset = 0,
bool PIDSquash =
false, std::unordered_map<int, std::string> *PIDNames =
nullptr);
69 int importSTL(
const std::string &filename, STLReader::Format format,
bool joinFactes,
int PIDOffset = 0,
bool PIDSquash =
false, std::unordered_map<int, std::string> *PIDNames =
nullptr);
70 int exportSTL(
const std::string &filename,
bool isBinary);
71 int exportSTL(
const std::string &filename,
bool isBinary,
bool isMulti, std::unordered_map<int, std::string> *PIDNames =
nullptr);
72 int importDGF(
const std::string &filename,
int PIDOffset = 0,
bool PIDSquash =
false);
73 int importDGF(
const std::string &filename,
bool joinFactes,
int PIDOffset = 0,
bool PIDSquash =
false);
74 int exportDGF(
const std::string &filename);
78 void _dump(std::ostream &stream)
const override;
79 void _restore(std::istream &stream)
override;
84 int exportSTLMulti(
const std::string &name, std::unordered_map<int, std::string> *PIDNames =
nullptr);
The LineUnstructured class defines an unstructured line tasselation.
void setExpert(bool expert)
long locatePoint(double x, double y, double z) const
The SurfUnstructured class defines an unstructured surface triangulation.
void _dump(std::ostream &stream) const override
int importDGF(const std::string &filename, int PIDOffset=0, bool PIDSquash=false)
SurfUnstructured(MPI_Comm communicator, std::size_t haloSize=1)
void extractEdgeNetwork(LineUnstructured &net)
int exportSTL(const std::string &filename, bool isBinary)
long locatePoint(const std::array< double, 3 > &point) const override
std::unique_ptr< PatchKernel > clone() const override
int _getDumpVersion() const override
int importSTL(const std::string &filename, int PIDOffset=0, bool PIDSquash=false)
void _restore(std::istream &stream) override
int exportSTLSingle(const std::string &name, bool isBinary)
static ElementType getDGFFacetType(int nFacetVertices)
int exportSTLMulti(const std::string &name, std::unordered_map< int, std::string > *PIDNames=nullptr)
int exportDGF(const std::string &filename)
The SurfaceKernel class provides an interface for defining surface patches.