MPQC  3.0.0-alpha
sc::TriangulatedSurface Class Reference
Inheritance diagram for sc::TriangulatedSurface:
sc::DescribedClass sc::RefCount sc::TriangulatedImplicitSurface

Public Member Functions

 TriangulatedSurface (const Ref< KeyVal > &)
 
int verbose () const
 
void verbose (int v)
 
void set_integrator (const Ref< TriangleIntegrator > &)
 
void set_fast_integrator (const Ref< TriangleIntegrator > &)
 
void set_accurate_integrator (const Ref< TriangleIntegrator > &)
 
virtual Ref< TriangleIntegratorintegrator (int itri)
 
virtual Ref< TriangleIntegratorfast_integrator (int itri)
 
virtual Ref< TriangleIntegratoraccurate_integrator (int itri)
 
void add_triangle (const Ref< Vertex > &, const Ref< Vertex > &, const Ref< Vertex > &)
 
Ref< Edgefind_edge (const Ref< Vertex > &, const Ref< Vertex > &)
 
virtual void complete_surface ()
 
virtual void remove_short_edges (double cutoff_length=1.0e-6, const Ref< Volume > &vol=0, double isoval=0.0)
 
virtual void remove_slender_triangles (int remove_slender, double height_cutoff, int remove_small, double area_cutoff, const Ref< Volume > &vol=0, double isoval=0.0)
 
virtual void fix_orientation ()
 
virtual void clear ()
 
int nvertex () const
 
Ref< Vertexvertex (int i) const
 
int vertex_index (const Ref< Vertex > &o)
 
int nedge () const
 
Ref< Edgeedge (int i) const
 
int edge_index (const Ref< Edge > &o)
 
int ntriangle () const
 
Ref< Triangletriangle (int i) const
 
int triangle_index (const Ref< Triangle > &o)
 
int triangle_vertex (int i, int j) const
 
int triangle_edge (int i, int j) const
 
int edge_vertex (int i, int j) const
 
void compute_values (Ref< Volume > &)
 
virtual double flat_area ()
 
virtual double flat_volume ()
 
virtual double area ()
 
virtual double volume ()
 
virtual void print (std::ostream &o=ExEnv::out0()) const
 Print the object.
 
virtual void print_vertices_and_triangles (std::ostream &o=ExEnv::out0()) const
 
virtual void print_geomview_format (std::ostream &o=ExEnv::out0()) const
 
virtual void render (const Ref< Render > &render)
 
void topology_info (std::ostream &o=ExEnv::out0())
 
void topology_info (int nvertex, int nedge, int ntri, std::ostream &o=ExEnv::out0())
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer. More...
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 
void unmanage ()
 Turn off the reference counting mechanism for this object. More...
 

Protected Member Functions

void clear_int_arrays ()
 
void complete_ref_arrays ()
 
void complete_int_arrays ()
 
void recompute_index_maps ()
 
void add_triangle (const Ref< Triangle > &)
 
void add_vertex (const Ref< Vertex > &)
 
void add_edge (const Ref< Edge > &)
 
virtual TrianglenewTriangle (const Ref< Edge > &, const Ref< Edge > &, const Ref< Edge > &, int orientation) const
 
virtual EdgenewEdge (const Ref< Vertex > &, const Ref< Vertex > &) const
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

int _verbose
 
int _debug
 
int _completed_surface
 
std::set< Ref< Vertex > > _vertices
 
std::set< Ref< Edge > > _edges
 
std::set< Ref< Triangle > > _triangles
 
std::map< Ref< Vertex >, int > _vertex_to_index
 
std::map< Ref< Edge >, int > _edge_to_index
 
std::map< Ref< Triangle >, int > _triangle_to_index
 
std::vector< Ref< Vertex > > _index_to_vertex
 
std::vector< Ref< Edge > > _index_to_edge
 
std::vector< Ref< Triangle > > _index_to_triangle
 
int ** _triangle_vertex
 
int ** _triangle_edge
 
int ** _edge_vertex
 
int _have_values
 
std::vector< double > _values
 
Ref< TriangleIntegrator_integrator
 
Ref< TriangleIntegrator_fast_integrator
 
Ref< TriangleIntegrator_accurate_integrator
 
std::map< Ref< Vertex >, std::set< Ref< Edge > > > _tmp_edges
 

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

Generated at Sun Jan 26 2020 23:24:13 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.