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

ZXseg Class Reference

A segment of a zero crossing line on a surface. More...

#include <zcross_path.H>

Collaboration diagram for ZXseg:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Constructors
 ZXseg (Bsimplex *s, CWpt &pt, Bvert *v, bool grad, mlib::CWvec &bc, int type=0, bool end=0)
 ZXseg (Bsimplex *s, CWpt &pt, Bvert *v, double conf, mlib::CWvec &bc, int type=0, bool end=0)
 ZXseg (Bsimplex *s, CWpt &pt, Bvert *v, bool grad, Bsimplex *bary_s, int type=0, bool end=0)
 Constructor for case of null face.
 ZXseg ()
Accessor Functions
bool end () const
Wptp ()
Bsimplexs () const
Bfacef () const
Bvertv () const
bool g () const
double conf () const
int type () const
CWvecbc () const
void set_end ()
void setf (Bsimplex *s)
void setv (Bvert *v)
void setg (bool g)
void setg (double g)
void settype (int t)
void set_bary (Bsimplex *s)
Overloaded Operators
bool operator== (const ZXseg &z) const

Protected Attributes

Wpt _p
 Starting point(location) of the segment.
Bsimplex_s
 Ether a segment or a face a segment lies on.
Bvert_v
 Starting vertex of the segment.
double _g
 Confidence of point.
Wvec _bc
 Barycentric coordinates.
int _type
 Stroke Type.
bool _end
 Termination Deliminter.

Detailed Description

A segment of a zero crossing line on a surface.

This is meant to be part of a sequence (like an ARRAY or vector) of ZXseg's that form one of more zero crossing lines. Each ZXseg doesn't actually hold a segment, it just has a point that should be connected (to form segments) to the points in the ZXseg's before and after it in the sequence. Some ZXseg's can also be marked with an end flag. The point in a ZXseg marked with the end flag is the last point in a zero crossing line. A ZXseg after one marked with the end flag in a sequence is the beginning of a new zero crossing line.

Note:
This class is mainly geared towards representing zero crossing lines of N dot V (silhouettes) on a mesh (and has some things specific to that purpose built in). However it has also been used (in a somewhat hackish fashion) to represent other types of zero crossing lines.

Definition at line 27 of file zcross_path.H.


Constructor & Destructor Documentation

ZXseg::ZXseg Bsimplex s,
CWpt pt,
Bvert v,
bool  grad,
mlib::CWvec bc,
int  type = 0,
bool  end = 0
[inline]
 

Definition at line 84 of file zcross_path.H.

ZXseg::ZXseg Bsimplex s,
CWpt pt,
Bvert v,
double  conf,
mlib::CWvec bc,
int  type = 0,
bool  end = 0
[inline]
 

Definition at line 95 of file zcross_path.H.

ZXseg::ZXseg Bsimplex s,
CWpt pt,
Bvert v,
bool  grad,
Bsimplex bary_s,
int  type = 0,
bool  end = 0
[inline]
 

Constructor for case of null face.

Definition at line 107 of file zcross_path.H.

References _bc, _p, and Bsimplex::project_barycentric().

ZXseg::ZXseg  )  [inline]
 

Definition at line 126 of file zcross_path.H.

References _g, _s, and _v.


Member Function Documentation

CWvec& ZXseg::bc  )  const [inline]
 

Definition at line 149 of file zcross_path.H.

References _bc.

Referenced by BMESH::build_zcross_strips().

double ZXseg::conf  )  const [inline]
 

Definition at line 147 of file zcross_path.H.

References _g.

bool ZXseg::end  )  const [inline]
 

Definition at line 139 of file zcross_path.H.

References _end.

Bface* ZXseg::f  )  const [inline]
 

if we really really want the face we can get it if no face is there you will get a NULL

Definition at line 144 of file zcross_path.H.

References _s, and get_bface().

Referenced by BMESH::build_zcross_strips(), and ZcrossPath::sil_walk_search().

bool ZXseg::g  )  const [inline]
 

Definition at line 146 of file zcross_path.H.

References _g.

Referenced by BMESH::build_zcross_strips().

bool ZXseg::operator== const ZXseg z  )  const [inline]
 

Definition at line 166 of file zcross_path.H.

References _g, _p, _s, and _v.

Wpt& ZXseg::p  )  [inline]
 

Definition at line 140 of file zcross_path.H.

References _p.

Referenced by BMESH::build_zcross_strips(), and ZcrossPath::start_sil().

Bsimplex* ZXseg::s  )  const [inline]
 

Definition at line 141 of file zcross_path.H.

References _s.

void ZXseg::set_bary Bsimplex s  )  [inline]
 

Definition at line 158 of file zcross_path.H.

References _bc, _p, and Bsimplex::project_barycentric().

Referenced by ZcrossPath::start_sil().

void ZXseg::set_end  )  [inline]
 

Definition at line 152 of file zcross_path.H.

References _end.

Referenced by ZcrossPath::start_sil().

void ZXseg::setf Bsimplex s  )  [inline]
 

Definition at line 153 of file zcross_path.H.

References _s.

Referenced by ZcrossPath::start_sil().

void ZXseg::setg double  g  )  [inline]
 

Definition at line 156 of file zcross_path.H.

References _g.

void ZXseg::setg bool  g  )  [inline]
 

Definition at line 155 of file zcross_path.H.

References _g.

Referenced by ZcrossPath::sil_walk_search().

void ZXseg::settype int  t  )  [inline]
 

Definition at line 157 of file zcross_path.H.

References _type.

void ZXseg::setv Bvert v  )  [inline]
 

Definition at line 154 of file zcross_path.H.

References _v.

int ZXseg::type  )  const [inline]
 

Definition at line 148 of file zcross_path.H.

References _type.

Bvert* ZXseg::v  )  const [inline]
 

Definition at line 145 of file zcross_path.H.

References _v.

Referenced by BMESH::build_zcross_strips().


Member Data Documentation

Wvec ZXseg::_bc [protected]
 

Barycentric coordinates.

Barycentric coordinates of the point on the Bsimplex _s.

Definition at line 65 of file zcross_path.H.

Referenced by bc(), set_bary(), and ZXseg().

bool ZXseg::_end [protected]
 

Termination Deliminter.

Flags this ZXseg as the end of a contiguous zero crossing line.

Definition at line 77 of file zcross_path.H.

Referenced by end(), and set_end().

double ZXseg::_g [protected]
 

Confidence of point.

The confidence of the point on the zero crossing line between 0.0 and 1.0. 0.0 indicates the point isn't very important (which usually means it shouldn't be drawn). 1.0 indicates the point is very important which usually means to always draw it.

Note:
Used to be "Direction of gradiant"

Definition at line 60 of file zcross_path.H.

Referenced by conf(), g(), operator==(), setg(), and ZXseg().

Wpt ZXseg::_p [protected]
 

Starting point(location) of the segment.

This will be connected to the point in the next ZXseg in the sequence to form a segment. Likewise, the point in the previous ZXseg in the the sequence (if there is one) will be connect to this to form a segment.

Definition at line 36 of file zcross_path.H.

Referenced by operator==(), p(), set_bary(), and ZXseg().

Bsimplex* ZXseg::_s [protected]
 

Ether a segment or a face a segment lies on.

In general this is the face that the segment starting at _p will pass through. Sometimes it might be an edge instead (though it unclear at the time of this writing if or when this occurs).

Definition at line 43 of file zcross_path.H.

Referenced by f(), operator==(), s(), setf(), and ZXseg().

int ZXseg::_type [protected]
 

Stroke Type.

The type of the stroke. Used at some point in the rendering process to determine the style of the stroke to draw for the zero crossing line containing this ZXseg.

Definition at line 72 of file zcross_path.H.

Referenced by settype(), and type().

Bvert* ZXseg::_v [protected]
 

Starting vertex of the segment.

Questions:
What is this used for?
Questions:
Is this a hold over from the older edge representation of silhouettes that this was derived from?

Definition at line 50 of file zcross_path.H.

Referenced by operator==(), setv(), v(), and ZXseg().


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