40#ifndef Foam_CGAL_indexedVertex_H
41#define Foam_CGAL_indexedVertex_H
44#include "CGAL/version.h"
45#if defined(CGAL_VERSION_NR) && (CGAL_VERSION_NR < 1050211000)
46#define BOOST_BIND_GLOBAL_PLACEHOLDERS
48#pragma clang diagnostic ignored "-Wbitwise-instead-of-logical"
49#pragma clang diagnostic ignored "-Wdeprecated-builtins"
50#pragma clang diagnostic ignored "-Wdeprecated-declarations"
54#include "CGAL/Triangulation_3.h"
75template<
class Gt,
class Vb>
Ostream&
operator<<
81template<
class Gt,
class Vb>
Ostream&
operator<<
87template<
class Gt,
class Vb>
Istream&
operator>>
96 CGAL::Point_3<baseK>&
p
102 const CGAL::Point_3<baseK>&
p
115template<
class Gt,
class Vb = CGAL::Triangulation_vertex_base_3<Gt>>
138 Foam::scalar targetCellSize_;
146 typedef typename Vb::Triangulation_data_structure
Tds;
198 inline Foam::label&
index();
200 inline Foam::label
index()
const;
225 inline bool real()
const;
277 inline bool fixed()
const;
290 this->type_ = rhs.type();
291 this->index_ = rhs.index();
292 this->processor_ = rhs.procIndex();
293 this->alignment_ = rhs.alignment();
294 this->targetCellSize_ = rhs.targetCellSize();
295 this->vertexFixed_ = rhs.fixed();
303 this->type_ == rhs.type()
304 && this->index_ == rhs.index()
305 && this->processor_ == rhs.procIndex()
306 && this->vertexFixed_ == rhs.fixed()
312 return !(*
this == rhs);
362 > : std::true_type {};
368 > : std::true_type {};
CGAL::Triangulation_data_structure_3< Vb, Cb > Tds
CGAL::indexedVertex< K > Vb
An indexed form of CGAL::Triangulation_vertex_base_3<K> used to keep track of the Delaunay vertices i...
Foam::scalar & targetCellSize()
bool featureEdgePoint() const
Part of a feature edge.
indexedVertex(const indexedVertex &)=default
Copy construct.
indexedVertex(Cell_handle f)
bool internalBaffleEdgePoint() const
Foam::InfoProxy< indexedVertex< Gt, Vb > > info() const noexcept
Return info proxy, used to print information to a stream.
bool & fixed()
Fix the vertex so that it can't be moved.
indexedVertex(const Foam::point &p, Foam::label index, vertexType type, int processor)
bool externalBoundaryPoint() const
bool fixed() const
Is the vertex fixed or movable.
bool boundaryPoint() const
Either master or slave of pointPair.
void setInternal()
Set the point to be internal.
bool featurePoint() const
Part of a feature point.
bool externalBaffleEdgePoint() const
bool nearBoundary() const
Is point internal and near the boundary.
void setNearBoundary()
Set the point to be near the boundary.
bool referred() const
Is this a referred vertex.
bool farPoint() const
Is point a far-point.
Tds::Cell_handle Cell_handle
indexedVertex(const Point &p)
bool internalOrBoundaryPoint() const
Either original internal point or master of pointPair.
CGAL::Triangulation_vertex_base_2< K >::Point Point
Tds::Vertex_handle Vertex_handle
bool nearOrOnBoundary() const
Is point near the boundary or part of the boundary definition.
bool externalBaffleSurfacePoint() const
indexedVertex(const Point &p, vertexType type)
indexedVertex(const Foam::point &p, vertexType type)
bool operator==(const indexedVertex &rhs) const
bool internalPoint() const
Is point internal, i.e. not on boundary.
void setNearProcBoundary()
Set the point to be near a proc boundary.
Foam::scalar targetCellSize() const
const Foam::tensor & alignment() const
indexedVertex(const Point &p, Cell_handle f)
bool internalBoundaryPoint() const
indexedVertex(const Point &p, Foam::label index, vertexType type, int processor)
bool surfacePoint() const
Part of a surface point pair.
Foam::label index() const
void operator=(const indexedVertex &rhs)
Copy assignment.
bool internalBaffleSurfacePoint() const
CGAL::Triangulation_vertex_base_2< K >::Triangulation_data_structure Tds
Foam::tensor & alignment()
bool nearProcBoundary() const
Is point internal and near a proc boundary.
bool operator!=(const indexedVertex &rhs) const
bool real() const
Is this a "real" point on this processor, i.e. is internal or part.
A helper class for outputting values to Ostream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
OBJstream os(runTime.globalPath()/outputName)
Specializations for CGAL-related routines.
vector point
Point is a vector.
Vb::template Rebind_TDS< TDS2 >::Other Vb2
indexedVertex< Gt, Vb2 > Other
A template class to specify that a data type can be considered as being contiguous in memory.