Namespaces | |
util | |
Classes | |
class | Geometry |
class | MultipleGeometry |
class | Point |
class | Sphere |
class | Cube |
class | Cylinder |
class | Plane |
class | Circle |
class | Square |
class | AttributeVector |
class | Edge |
class | Face |
struct | GarbageCollectDeletions |
class | ISMesh |
class | NodeIterator |
class | EdgeIterator |
class | FaceIterator |
class | TetrahedronIterator |
class | kernel |
class | kernel_iterator |
class | Key |
class | NodeKey |
class | EdgeKey |
class | FaceKey |
class | TetrahedronKey |
class | Node |
class | QueryResultIterator |
class | QueryResult |
class | Query |
class | Simplex |
class | SimplexSet |
class | Tetrahedron |
Enumerations | |
enum | SetType { Union, Intersection } |
enum | QueryType { All, Interface, Boundary } |
Functions | |
template<typename key_type , typename value_type > | |
void | run_for_each_par (std::function< void(value_type &, int)> fn, kernel< key_type, value_type > *kernel, int from, int to, int threadid) |
template<typename value_type , typename kernel_type , typename key_type > | |
void | run_for_each_par_sp (std::function< void(value_type &, int)> fn, kernel_type *kernel, int threadid, int actualthread, AttributeVector< key_type, int > *attributeVector) |
void | scale (std::vector< vec3 > &points, double size) |
void | import_tet_mesh (const std::string &filename, std::vector< vec3 > &points, std::vector< int > &tets, std::vector< int > &tet_labels) |
void | import_surface_mesh (const std::string &filename, std::vector< vec3 > &points, std::vector< int > &triangleIndices) |
void | import_voxel_grid (const std::string &filename, vec3 &origin, vec3 &voxel_size, int &Ni, int &Nj, int &Nk, std::vector< int > &voxels) |
std::shared_ptr< Geometry > | load_geometry (std::ifstream &file) |
void | import_geometry (const std::string &filename, vec3 &origin, vec3 &size, double &discretization, std::vector< unsigned int > &labels, std::vector< std::shared_ptr< Geometry >> &geometries) |
void | export_tet_mesh (const std::string &filename, std::vector< vec3 > &points, std::vector< int > &tets, std::vector< int > &tet_labels) |
void | export_surface_mesh (const std::string &filename, std::vector< vec3 > &points, std::vector< int > &faces) |
void | export_tet_mesh (const std::string &filename, ISMesh &mesh) |
void | export_surface_mesh (const std::string &filename, ISMesh &mesh) |
void | export_surface_mesh_debug (const std::string &filename, ISMesh &mesh) |
vec3 | addEpsilonOffset (vec3 v) |
template<typename key_type > | |
bool | operator== (const SimplexSet< key_type > &A, const SimplexSet< key_type > &B) noexcept |
template<typename key_type > | |
SimplexSet< key_type > | operator+ (const SimplexSet< key_type > &A, const SimplexSet< key_type > &B) |
template<typename key_type > | |
SimplexSet< key_type > && | operator+ (SimplexSet< key_type > &&A, const SimplexSet< key_type > &B) |
template<typename key_type > | |
SimplexSet< key_type > && | operator+ (SimplexSet< key_type > &&A, SimplexSet< key_type > &&B) |
template<typename key_type > | |
SimplexSet< key_type > && | operator+ (const SimplexSet< key_type > &A, SimplexSet< key_type > &&B) |
template<typename key_type > | |
SimplexSet< key_type > | operator- (const SimplexSet< key_type > &A, const SimplexSet< key_type > &B) |
template<typename key_type > | |
SimplexSet< key_type > && | operator- (SimplexSet< key_type > &&A, const SimplexSet< key_type > &B) |
template<typename key_type > | |
SimplexSet< key_type > | operator- (const SimplexSet< key_type > &A, const key_type &key) |
template<typename key_type > | |
SimplexSet< key_type > && | operator- (SimplexSet< key_type > &&A, const key_type &key) |
template<typename key_type > | |
SimplexSet< key_type > | operator& (const SimplexSet< key_type > &A, const SimplexSet< key_type > &B) |
template<typename key_type > | |
SimplexSet< key_type > && | operator& (SimplexSet< key_type > &&A, const SimplexSet< key_type > &B) |
Pseudocode
Raytracing in ISMesh datastructure. Assumes that the boundary surface of the ISMesh is convex Assumes that the set of boundary faces are static (if not call rebuild_boundary_cache() after changes).
void is_mesh::export_surface_mesh | ( | const std::string & | filename, |
std::vector< vec3 > & | points, | ||
std::vector< int > & | faces | ||
) |
Exports the surface mesh to an .obj file.
void is_mesh::export_surface_mesh | ( | const std::string & | filename, |
ISMesh & | mesh | ||
) |
Exports the surface mesh to an .obj file.
void is_mesh::export_surface_mesh_debug | ( | const std::string & | filename, |
ISMesh & | mesh | ||
) |
Exports the debug surface mesh to an .obj file.
void is_mesh::export_tet_mesh | ( | const std::string & | filename, |
std::vector< vec3 > & | points, | ||
std::vector< int > & | tets, | ||
std::vector< int > & | tet_labels | ||
) |
Exports the mesh as a .dsc file.
void is_mesh::export_tet_mesh | ( | const std::string & | filename, |
ISMesh & | mesh | ||
) |
Exports the mesh as a .dsc file.
void is_mesh::import_geometry | ( | const std::string & | filename, |
vec3 & | origin, | ||
vec3 & | size, | ||
double & | discretization, | ||
std::vector< unsigned int > & | labels, | ||
std::vector< std::shared_ptr< Geometry >> & | geometries | ||
) |
Imports a volume defined by geometries from an .geo file.
void is_mesh::import_surface_mesh | ( | const std::string & | filename, |
std::vector< vec3 > & | points, | ||
std::vector< int > & | triangleIndices | ||
) |
Imports a surface mesh from an .obj file.
void is_mesh::import_tet_mesh | ( | const std::string & | filename, |
std::vector< vec3 > & | points, | ||
std::vector< int > & | tets, | ||
std::vector< int > & | tet_labels | ||
) |
Imports a mesh from a .dsc file.
void is_mesh::import_voxel_grid | ( | const std::string & | filename, |
vec3 & | origin, | ||
vec3 & | voxel_size, | ||
int & | x, | ||
int & | y, | ||
int & | z, | ||
std::vector< int > & | voxels | ||
) |
Imports a voxel grid from an .txt file.
std::shared_ptr< Geometry > is_mesh::load_geometry | ( | std::ifstream & | file | ) |
Imports a geometry from the file.
SimplexSet<key_type> is_mesh::operator& | ( | const SimplexSet< key_type > & | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns the intersection of sets A and B.
SimplexSet<key_type>&& is_mesh::operator& | ( | SimplexSet< key_type > && | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns the intersection of sets A and B.
SimplexSet<key_type> is_mesh::operator+ | ( | const SimplexSet< key_type > & | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns the union of the two sets A and B.
SimplexSet<key_type>&& is_mesh::operator+ | ( | SimplexSet< key_type > && | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns the union of the two sets A and B.
SimplexSet<key_type>&& is_mesh::operator+ | ( | SimplexSet< key_type > && | A, |
SimplexSet< key_type > && | B | ||
) |
Returns the union of the two sets A and B.
SimplexSet<key_type>&& is_mesh::operator+ | ( | const SimplexSet< key_type > & | A, |
SimplexSet< key_type > && | B | ||
) |
Returns the union of the two sets A and B.
SimplexSet<key_type> is_mesh::operator- | ( | const SimplexSet< key_type > & | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns set A without the elements in set B.
SimplexSet<key_type>&& is_mesh::operator- | ( | SimplexSet< key_type > && | A, |
const SimplexSet< key_type > & | B | ||
) |
Returns set A without the elements in set B.
SimplexSet<key_type> is_mesh::operator- | ( | const SimplexSet< key_type > & | A, |
const key_type & | key | ||
) |
Returns set A without the element key.
SimplexSet<key_type>&& is_mesh::operator- | ( | SimplexSet< key_type > && | A, |
const key_type & | key | ||
) |
Returns set A without the element key.