geometry.hpp
Go to the documentation of this file.
227 uint8_t bracket_ndist( int32_t i, int32_t j, int32_t k, int32_t solid, int sign, int coord ) const;
General callback functors.
Bound(bound_e type, double value)
Constructor for constant value boundary.
Definition: geometry.cpp:65
bool is_constant() const
Return if boundary value is constant.
Definition: geometry.cpp:108
friend std::ostream & operator<<(std::ostream &os, const Bound &b)
Outputting to stream.
Definition: geometry.cpp:146
Definition: callback.hpp:61
uint32_t surface_trianglec(void) const
Return total surface triangle count.
Definition: geometry.hpp:528
uint32_t number_of_boundaries() const
Return number of boundaries.
Definition: geometry.cpp:287
const Vec3D & surface_vertex(int32_t a) const
Return reference to surface vertex a.
Definition: geometry.hpp:534
void debug_print(std::ostream &os) const
Print debugging information to stream os.
Definition: geometry.cpp:2565
void set_solid(uint32_t n, const Solid *s)
Sets solid number n to s.
Definition: geometry.cpp:264
uint32_t & mesh(int32_t i, int32_t j, int32_t k)
Returns a reference to solid mesh array.
Definition: geometry.hpp:425
bool is_near_solid(int32_t i, int32_t j, int32_t k) const
Returns true if node is a potential near solid point.
Definition: geometry.cpp:830
uint32_t number_of_solids() const
Return number of solids.
Definition: geometry.cpp:281
Geometry(geom_mode_e geom_mode, Int3D size, Vec3D origo, double h)
Constructor for geometry class.
Definition: geometry.cpp:161
void build_mesh(void)
Builds (or rebuilds) the solid mesh and near solid data from solid definitions.
Definition: geometry.cpp:1318
double bracket_surface(uint32_t n, const Vec3D &xin, const Vec3D &xout, Vec3D &xsurf) const
Find solid n surface location by bracketing.
Definition: geometry.cpp:431
uint8_t solid_dist(uint32_t i, uint32_t j, uint32_t k, uint32_t dir) const
Returns distance of solid boundary from point.
Definition: geometry.cpp:2480
const uint32_t & mesh(int32_t i, int32_t j, int32_t k) const
Returns a const reference to solid mesh array.
Definition: geometry.hpp:409
bool surface_built(void) const
Is the solid surface representation built?
Definition: geometry.hpp:503
uint32_t inside(const Vec3D &x) const
Return if point is inside solids.
Definition: geometry.cpp:334
uint32_t surface_vertexc(void) const
Return total surface vertex count.
Definition: geometry.hpp:522
Vec3D surface_normal(const Vec3D &x) const
Find surface outward normal at location x.
Definition: geometry.cpp:519
const uint32_t & mesh(int32_t i, int32_t j) const
Returns a const reference to solid mesh array.
Definition: geometry.hpp:403
const uint32_t & mesh(int32_t i) const
Returns a const reference to solid mesh array.
Definition: geometry.hpp:399
bool have_solid_data(void) const
Returns true if full solid data available.
Definition: geometry.cpp:323
uint32_t & mesh(int32_t i)
Returns a reference to solid mesh array.
Definition: geometry.hpp:415
Bound get_boundary(uint32_t n) const
Returns boundary condition for solid number n.
Definition: geometry.cpp:314
uint32_t surface_inside(const Vec3D &x) const
Finds if point is inside surface triangulation.
Definition: geometry.cpp:2243
const Solid * get_solid(uint32_t n) const
Returns a const pointer to solid number n.
Definition: geometry.cpp:293
uint32_t mesh_check(int32_t i) const
Returns number from solid mesh array.
Definition: geometry.cpp:386
const uint8_t * nearsolid_ptr(int32_t index) const
Returns a const pointer to start of near-solid data for near-solid node index.
Definition: geometry.hpp:474
Vec3D surface_triangle_normal(const Vec3D &x) const
Return normal of surface triangle near point x.
Definition: geometry.cpp:2374
void save(const std::string &filename, bool save_solids=false) const
Saves data to a new file filename.
Definition: geometry.cpp:2530
std::vector< Bound > get_boundaries() const
Returns a vector of boundary conditions.
const VTriangle & surface_triangle(int32_t a) const
Return reference to surface triangle a.
Definition: geometry.hpp:550
void build_surface(void)
Build surface triangulation data.
Definition: geometry.cpp:1931
uint32_t surface_triangle_ptr(int32_t i, int32_t j, int32_t k) const
Return index of first surface triangle at mesh cube (i,j,k).
Definition: geometry.hpp:556
void set_boundary(uint32_t n, const Bound &b)
Sets boundary condition b for solid number n.
Definition: geometry.cpp:302
uint32_t & mesh(int32_t i, int32_t j)
Returns a reference to solid mesh array.
Definition: geometry.hpp:419
uint32_t trianglec(void) const
Return triangle count.
Definition: vtriangle.hpp:129
const Vec3D & vertex(uint32_t i) const
Return vertex i coordinates.
Definition: vtriangle.hpp:123
uint32_t vertexc(void) const
Return vertex count.
Definition: vtriangle.hpp:117
const VTriangle & triangle(uint32_t i) const
Return triangle i.
Definition: vtriangle.hpp:135
Bindary file writing and reading tools.
Rectangular mesh definition.
Base for solid definition.
Base types.
Three dimensional vectors.
Vertex-based triangle representation.