Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ZCrossExtractor< ScalarField, Confidence, FaceGenerator > Class Template Reference

A class for extracting the zero crossing lines of arbitrary scalar fields on a mesh. More...

#include <zcross_extractor.H>

Collaboration diagram for ZCrossExtractor< ScalarField, Confidence, FaceGenerator >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Constructors
 ZCrossExtractor (const BMESH *mesh_in, ScalarField sfield_in=ScalarField(), Confidence conf_in=Confidence(), FaceGenerator fgen_in=FaceGenerator())
Extraction Functions
void extract ()
 Extract the zero crossing lines from the given mesh.
Accessors
const BMESHget_mesh () const
Result Accessors
const std::vector< ZXseg > & segs () const
 Access the resulting extracted segments.
void reset ()
 Clear the extracted segments.

Private Member Functions

bool get_zcross_points (const Bface *f, BarycentricCoord bc_pts[2], int edge_nums[2])
double get_confidence (const Bface *f, const BarycentricCoord &bc)
bool walk_line (Bface *start_face, Bface *next_face, std::vector< ZCrossSeg > &line)
void extract_line (Bface *f)
void add_seg (const ZCrossSeg &seg)

Private Attributes

std::vector< ZXsegextracted_segs
std::vector< boolface_markers
const BMESHmesh
ScalarField sfield
Confidence conf
FaceGenerator fgen

Detailed Description

template<typename ScalarField, typename Confidence, typename FaceGenerator>
class ZCrossExtractor< ScalarField, Confidence, FaceGenerator >

A class for extracting the zero crossing lines of arbitrary scalar fields on a mesh.

This class is templated on a series of functors (function objects) that determine what type of zero crossing lines it extracts, what confidence it assigns to each extracted point, and how the faces of a mesh (in terms of ordering and number) are processed to extract the zero crossing lines. The interfaces of the three functors can be found in the following abstract base classes:

Definition at line 155 of file zcross_extractor.H.


Constructor & Destructor Documentation

template<typename ScalarField, typename Confidence, typename FaceGenerator>
ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::ZCrossExtractor const BMESH mesh_in,
ScalarField  sfield_in = ScalarField(),
Confidence  conf_in = Confidence(),
FaceGenerator  fgen_in = FaceGenerator()
[inline]
 

Definition at line 162 of file zcross_extractor.H.


Member Function Documentation

template<typename ScalarField, typename Confidence, typename FaceGenerator>
void ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::add_seg const ZCrossSeg seg  )  [inline, private]
 

Definition at line 727 of file zcross_extractor.H.

References mlib::isZero(), STYPE_SUGLINE, and Bface::v().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
void ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract  ) 
 

Extract the zero crossing lines from the given mesh.

Definition at line 428 of file zcross_extractor.H.

References BMESH::bf(), ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract_line(), ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::face_markers, ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::fgen, ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::mesh, BMESH::nfaces(), and ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::reset().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
void ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract_line Bface f  )  [private]
 

Definition at line 637 of file zcross_extractor.H.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
double ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::get_confidence const Bface f,
const BarycentricCoord bc
[private]
 

Definition at line 531 of file zcross_extractor.H.

template<typename ScalarField, typename Confidence, typename FaceGenerator>
const BMESH* ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::get_mesh  )  const [inline]
 

Definition at line 182 of file zcross_extractor.H.

References ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::mesh.

Referenced by ZCrossRandFaceGenerator::operator()(), and ZCrossAllFaceGenerator::operator()().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
bool ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::get_zcross_points const Bface f,
BarycentricCoord  bc_pts[2],
int  edge_nums[2]
[private]
 

Definition at line 461 of file zcross_extractor.H.

References mlib::isEqual().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
void ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::reset  )  [inline]
 

Clear the extracted segments.

Definition at line 194 of file zcross_extractor.H.

References ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extracted_segs.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
const std::vector<ZXseg>& ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::segs  )  const [inline]
 

Access the resulting extracted segments.

Definition at line 190 of file zcross_extractor.H.

References ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extracted_segs.

Referenced by ZCrossPreviousFaceGenerator::operator()().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
bool ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::walk_line Bface start_face,
Bface next_face,
std::vector< ZCrossSeg > &  line
[private]
 

Definition at line 551 of file zcross_extractor.H.

References Bface::index(), Bface::nbr(), and nfaces.


Member Data Documentation

template<typename ScalarField, typename Confidence, typename FaceGenerator>
Confidence ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::conf [private]
 

Definition at line 221 of file zcross_extractor.H.

template<typename ScalarField, typename Confidence, typename FaceGenerator>
std::vector<ZXseg> ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extracted_segs [private]
 

Definition at line 214 of file zcross_extractor.H.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::reset(), and ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::segs().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
std::vector<bool> ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::face_markers [private]
 

Definition at line 216 of file zcross_extractor.H.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
FaceGenerator ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::fgen [private]
 

Definition at line 222 of file zcross_extractor.H.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
const BMESH* ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::mesh [private]
 

Definition at line 218 of file zcross_extractor.H.

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::extract(), and ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::get_mesh().

template<typename ScalarField, typename Confidence, typename FaceGenerator>
ScalarField ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::sfield [private]
 

Definition at line 220 of file zcross_extractor.H.


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 11:48:01 2006 for jot by  doxygen 1.4.4