ViennaLS
|
Class containing all information about the level set, including the dimensions of the domain, boundary conditions and all data. More...
#include <lsDomain.hpp>
Public Types | |
typedef T | ValueType |
typedef hrleGrid< D > | GridType |
typedef hrleDomain< T, D > | DomainType |
typedef BoundaryConditionEnum< D > | BoundaryType |
typedef std::vector< std::pair< hrleVectorType< hrleIndexType, D >, T > > | PointValueVectorType |
typedef std::vector< std::array< T, D > > | NormalVectorType |
typedef PointData< T > | PointDataType |
typedef std::vector< bool > | VoidPointMarkersType |
Public Member Functions | |
Domain (hrleCoordType gridDelta=1.0) | |
initalise an empty infinite Domain | |
Domain (hrleCoordType *bounds, BoundaryType *boundaryConditions, hrleCoordType gridDelta=1.0) | |
Domain (std::vector< hrleCoordType > bounds, std::vector< unsigned > boundaryConditions, hrleCoordType gridDelta=1.0) | |
Domain (PointValueVectorType pointData, hrleCoordType *bounds, BoundaryType *boundaryConditions, hrleCoordType gridDelta=1.0) | |
initialise Domain with domain size "bounds", filled with point/value pairs in pointData | |
Domain (GridType passedGrid) | |
Domain (SmartPointer< Domain > passedDomain) | |
void | finalize (int newWidth) |
this function sets a new levelset width and finalizes the levelset, so it is ready for use by other algorithms | |
void | finalize () |
this function finalizes the levelset, so it is ready for use by other algorithms | |
void | deepCopy (const SmartPointer< Domain< T, D > > passedDomain) |
copy all values of "passedDomain" to this Domain | |
void | insertPoints (PointValueVectorType pointData, bool sort=true) |
re-initalise Domain with the point/value pairs in pointData This is similar to lsFromMesh with the difference that pointData contains (INDEX, Value) pairs, while lsFromMesh expects coordinates rather than indices | |
const GridType & | getGrid () const |
get reference to the grid on which the levelset is defined | |
GridType & | getGrid () |
get mutable reference to the grid on which the level set is defined | |
DomainType & | getDomain () |
get const reference to the underlying hrleDomain data structure | |
const DomainType & | getDomain () const |
unsigned | getNumberOfSegments () const |
returns the number of segments, the levelset is split into. This is useful for algorithm parallelisation | |
unsigned | getNumberOfPoints () const |
returns the number of defined points | |
int | getLevelSetWidth () const |
void | setLevelSetWidth (int width) |
void | clearMetaData () |
PointDataType & | getPointData () |
get reference to point data saved in the level set | |
const PointDataType & | getPointData () const |
VoidPointMarkersType & | getVoidPointMarkers () |
get reference to the voidPoints markers for all points | |
const VoidPointMarkersType & | getVoidPointMarkers () const |
void | print (std::ostream &out=std::cout) |
prints basic information and all memebers of the levelset structure | |
std::ostream & | serialize (std::ostream &stream) |
Serializes the Domain into a binary stream. | |
std::istream & | deserialize (std::istream &stream) |
Deserialize Domain from binary stream. | |
Static Public Attributes | |
static constexpr int | dimensions = D |
static constexpr T | POS_VALUE = std::numeric_limits<T>::max() |
static constexpr T | NEG_VALUE = std::numeric_limits<T>::lowest() |
Class containing all information about the level set, including the dimensions of the domain, boundary conditions and all data.
BoundaryConditionEnum<D> viennals::Domain< T, D >::BoundaryType |
hrleGrid<D> viennals::Domain< T, D >::GridType |
std::vector<std::pair<hrleVectorType<hrleIndexType, D>, T> > viennals::Domain< T, D >::PointValueVectorType |
T viennals::Domain< T, D >::ValueType |
std::vector<bool> viennals::Domain< T, D >::VoidPointMarkersType |
|
inline |
initalise an empty infinite Domain
|
inline |
|
inline |
|
inline |
initialise Domain with domain size "bounds", filled with point/value pairs in pointData
|
inline |
|
inline |
|
inline |
|
inline |
copy all values of "passedDomain" to this Domain
|
inline |
Deserialize Domain from binary stream.
|
inline |
this function finalizes the levelset, so it is ready for use by other algorithms
|
inline |
this function sets a new levelset width and finalizes the levelset, so it is ready for use by other algorithms
|
inline |
get const reference to the underlying hrleDomain data structure
|
inline |
|
inline |
get mutable reference to the grid on which the level set is defined
|
inline |
get reference to the grid on which the levelset is defined
|
inline |
|
inline |
returns the number of defined points
|
inline |
returns the number of segments, the levelset is split into. This is useful for algorithm parallelisation
|
inline |
get reference to point data saved in the level set
|
inline |
|
inline |
get reference to the voidPoints markers for all points
|
inline |
|
inline |
re-initalise Domain with the point/value pairs in pointData This is similar to lsFromMesh with the difference that pointData contains (INDEX, Value) pairs, while lsFromMesh expects coordinates rather than indices
|
inline |
prints basic information and all memebers of the levelset structure
|
inline |
Serializes the Domain into a binary stream.
|
inline |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |