Peano
Loading...
Searching...
No Matches
toolbox::curvi::Face Class Reference

#include <Face.h>

Collaboration diagram for toolbox::curvi::Face:

Public Member Functions

 Face ()
 
 Face (int a_index_offset[3], FaceBoundary &boundary, std::function< double(double, double)> a_perturbation=[](double y, double x) { return 0.0;}, bool keepBoundary=false)
 
 Face (const Coordinate a_coords[2], const int a_index_offset[3], const int a_index_size[3], const double offset_mu, std::function< double(double, double)> a_perturbation=[](double y, double x) { return 0.0;})
 
 Face (const Face &other)
 
Face & operator= (Face other)
 
Coordinate getCoord (int i) const
 
void getCoord (Coordinate a_coord[2]) const
 
int getIndexOffset (Coordinate coord) const
 
void getIndexOffset (int a_indexoffset[3]) const
 
int getIndexSize (Coordinate coord) const
 
void getIndexSize (int a_size[3]) const
 
void getIndexRange (Coordinate coord, std::vector< int > &range) const
 
std::function< double(double, double)> getPerturbation () const
 
double getPosition () const
 
Edge split (Face &other, Face &left, Face &right) const
 
bool intersect (double f0, double f1, double t0, double t1, double x0, double x1, double y0, double y1, double &x, double &y) const
 
void reverseDimension (Coordinate coord)
 
void remesh ()
 
void subface (int subface_index_offset[3], int subface_index_size[3], Face &subface) const
 
const std::vector< double > & getNodes () const
 
double & operator() (int coord, int j, int i)
 
const double & operator() (int coord, int j, int i) const
 
const double & operator() (int coord, Coordinate coord_j, int j, Coordinate coord_i, int i) const
 
double & operator() (int coord, Coordinate coord_j, int j, Coordinate coord_i, int i)
 
void toNetCDF (std::string filename) const
 
std::string printNodes () const
 

Private Attributes

Coordinate coords [2]
 
int index_offset [3]
 
int index_size [3]
 
double position
 
std::function< double(double, double)> perturbation
 
std::vector< double > nodes
 

Friends

std::ostream & operator<< (std::ostream &ss, const Face &f)
 

Detailed Description

Definition at line 31 of file Face.h.

Constructor & Destructor Documentation

◆ Face() [1/4]

toolbox::curvi::Face::Face ( )

◆ Face() [2/4]

toolbox::curvi::Face::Face ( int  a_index_offset[3],
FaceBoundary &  boundary,
std::function< double(double, double)>  a_perturbation = [](double y, double x) { return 0.0;},
bool  keepBoundary = false 
)

◆ Face() [3/4]

toolbox::curvi::Face::Face ( const Coordinate  a_coords[2],
const int  a_index_offset[3],
const int  a_index_size[3],
const double  offset_mu,
std::function< double(double, double)>  a_perturbation = [](double y, double x) { return 0.0;} 
)

◆ Face() [4/4]

toolbox::curvi::Face::Face ( const Face &  other)

Member Function Documentation

◆ getCoord() [1/2]

void toolbox::curvi::Face::getCoord ( Coordinate  a_coord[2]) const

◆ getCoord() [2/2]

Coordinate toolbox::curvi::Face::getCoord ( int  i) const

◆ getIndexOffset() [1/2]

int toolbox::curvi::Face::getIndexOffset ( Coordinate  coord) const

◆ getIndexOffset() [2/2]

void toolbox::curvi::Face::getIndexOffset ( int  a_indexoffset[3]) const

◆ getIndexRange()

void toolbox::curvi::Face::getIndexRange ( Coordinate  coord,
std::vector< int > &  range 
) const

◆ getIndexSize() [1/2]

int toolbox::curvi::Face::getIndexSize ( Coordinate  coord) const

◆ getIndexSize() [2/2]

void toolbox::curvi::Face::getIndexSize ( int  a_size[3]) const

◆ getNodes()

const std::vector< double > & toolbox::curvi::Face::getNodes ( ) const

◆ getPerturbation()

std::function< double(double, double)> toolbox::curvi::Face::getPerturbation ( ) const

◆ getPosition()

double toolbox::curvi::Face::getPosition ( ) const

◆ intersect()

bool toolbox::curvi::Face::intersect ( double  f0,
double  f1,
double  t0,
double  t1,
double  x0,
double  x1,
double  y0,
double  y1,
double &  x,
double &  y 
) const

◆ operator()() [1/4]

double & toolbox::curvi::Face::operator() ( int  coord,
Coordinate  coord_j,
int  j,
Coordinate  coord_i,
int  i 
)

◆ operator()() [2/4]

const double & toolbox::curvi::Face::operator() ( int  coord,
Coordinate  coord_j,
int  j,
Coordinate  coord_i,
int  i 
) const

◆ operator()() [3/4]

double & toolbox::curvi::Face::operator() ( int  coord,
int  j,
int  i 
)

◆ operator()() [4/4]

const double & toolbox::curvi::Face::operator() ( int  coord,
int  j,
int  i 
) const

◆ operator=()

Face & toolbox::curvi::Face::operator= ( Face  other)

◆ printNodes()

std::string toolbox::curvi::Face::printNodes ( ) const

◆ remesh()

void toolbox::curvi::Face::remesh ( )

◆ reverseDimension()

void toolbox::curvi::Face::reverseDimension ( Coordinate  coord)

◆ split()

Edge toolbox::curvi::Face::split ( Face &  other,
Face &  left,
Face &  right 
) const

◆ subface()

void toolbox::curvi::Face::subface ( int  subface_index_offset[3],
int  subface_index_size[3],
Face &  subface 
) const

◆ toNetCDF()

void toolbox::curvi::Face::toNetCDF ( std::string  filename) const

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  ss,
const Face &  f 
)
friend

Field Documentation

◆ coords

Coordinate toolbox::curvi::Face::coords[2]
private

Definition at line 97 of file Face.h.

◆ index_offset

int toolbox::curvi::Face::index_offset[3]
private

Definition at line 98 of file Face.h.

◆ index_size

int toolbox::curvi::Face::index_size[3]
private

Definition at line 99 of file Face.h.

◆ nodes

std::vector<double> toolbox::curvi::Face::nodes
private

Definition at line 102 of file Face.h.

◆ perturbation

std::function<double(double, double)> toolbox::curvi::Face::perturbation
private

Definition at line 101 of file Face.h.

◆ position

double toolbox::curvi::Face::position
private

Definition at line 100 of file Face.h.


The documentation for this class was generated from the following file: