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

ns_vu1112113::vuSampleRay Class Reference

Defines a Ray using the direction vector as sampling step. More...

#include <vuSampleRay.h>

Inheritance diagram for ns_vu1112113::vuSampleRay:

Inheritance graph
[legend]
Collaboration diagram for ns_vu1112113::vuSampleRay:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 vuSampleRay ()
 Default constructor.
 vuSampleRay (const vuSampleRay &r)
 Copy constructor.
 vuSampleRay (const vuRay &r)
 Copy constructor for simple vuRay.
 ~vuSampleRay ()
 Destructor.
void SamplingDistance (float sd)
 modifies length of direction vector to sd
float SamplingDistance () const
 returns current sampling distance
vuSampleRayoperator= (vuSampleRay &rhs)
 Assignment operator.
bool advanceRay ()
float getSamplePoint (DatPnt &dat, bool getnormal=true) const
 get sampled point for current position
bool attachToGrid (const DatGrid &grid)

Protected Attributes

float m_SmpDist
 sampling distance (length of direction vector)
const DatGridm_Grid
 grid ray is within
int grid_index
int gridPos [3]
 location in grid
int axis [3]
 [0] is ID of predominant axis, [1] and [2] are
int step [3]
 forward/backward steps (1 or -1)
float incr [2][2]
 increments for chosen direction
float dist [3]
 not used
int maxSmp
int numSmp
 total and current number of samples
int m_Side
int m_InSide
 side IDs for leaving and entering the data cube
int steps
DatPntcell [8]
float w [8]
int p [3]
float t [3]

Friends

class DatGrid

Detailed Description

Defines a Ray using the direction vector as sampling step.

Derived from the vuRay class and adds a feature to change position by a certain sampling step, keeping track of current position in Grid. Because of its orientation to specific grid type probably not a general tool.

Definition at line 16 of file Raycast/vuSampleRay.h.


Constructor & Destructor Documentation

vuSampleRay::vuSampleRay  ) 
 

Default constructor.

Definition at line 18 of file Raycast/vuSampleRay.cpp.

References m_Grid, m_SmpDist, and steps.

vuSampleRay::vuSampleRay const vuSampleRay r  ) 
 

Copy constructor.

Definition at line 26 of file Raycast/vuSampleRay.cpp.

References m_Grid, m_SmpDist, and steps.

vuSampleRay::vuSampleRay const vuRay r  ) 
 

Copy constructor for simple vuRay.

Definition at line 34 of file Raycast/vuSampleRay.cpp.

References m_Grid, and m_SmpDist.

vuSampleRay::~vuSampleRay  ) 
 

Destructor.

Definition at line 41 of file Raycast/vuSampleRay.cpp.


Member Function Documentation

bool vuSampleRay::advanceRay  ) 
 

Definition at line 68 of file Raycast/vuSampleRay.cpp.

References cell, ns_vu1112113::DatGrid::layXY, m_Grid, ns_vu1112113::DatGrid::maxX, ns_vu1112113::DatGrid::maxY, ns_vu1112113::DatGrid::maxZ, p, steps, t, ns_vu1112113::DatGrid::vol, and w.

Referenced by vu1112113::Cast().

bool vuSampleRay::attachToGrid const DatGrid grid  ) 
 

Definition at line 138 of file Raycast/vuSampleRay.cpp.

References ns_vu1112113::DatGrid::clipRay(), vuRay::m_Direction, m_Grid, vuRay::m_Position, steps, and t.

Referenced by vu1112113::Cast().

Here is the call graph for this function:

float vuSampleRay::getSamplePoint DatPnt dat,
bool  getnormal = true
const
 

get sampled point for current position

Returns:
interpolated density (precise version of dat.data)

Definition at line 113 of file Raycast/vuSampleRay.cpp.

References byte, cell, ns_vu1112113::DatPnt::data, ns_vu1112113::DatPnt::illum, ns_vu1112113::DatPnt::len, ns_vu1112113::DatPnt::normalVec(), ns_vu1112113::DatPnt::reset(), ns_vu1112113::DatPnt::setNormalVec(), and w.

Referenced by vu1112113::Cast().

Here is the call graph for this function:

vuSampleRay & vuSampleRay::operator= vuSampleRay rhs  ) 
 

Assignment operator.

Definition at line 46 of file Raycast/vuSampleRay.cpp.

References m_Grid, vuRay::operator=(), and steps.

Here is the call graph for this function:

float vuSampleRay::SamplingDistance  )  const
 

returns current sampling distance

Definition at line 55 of file Raycast/vuSampleRay.cpp.

void vuSampleRay::SamplingDistance float  sd  ) 
 

modifies length of direction vector to sd

Definition at line 60 of file Raycast/vuSampleRay.cpp.

References m_Grid, m_SmpDist, vuVector::norm(), and steps.

Referenced by vu1112113::Cast().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class DatGrid [friend]
 

Definition at line 18 of file Raycast/vuSampleRay.h.


Member Data Documentation

int ns_vu1112113::vuSampleRay::axis[3] [protected]
 

[0] is ID of predominant axis, [1] and [2] are

Definition at line 47 of file Raycast/vuSampleRay.h.

DatPnt* ns_vu1112113::vuSampleRay::cell[8] [protected]
 

Definition at line 57 of file Raycast/vuSampleRay.h.

Referenced by advanceRay(), and getSamplePoint().

float ns_vu1112113::vuSampleRay::dist[3] [protected]
 

not used

Definition at line 50 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::grid_index [protected]
 

Definition at line 45 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::gridPos[3] [protected]
 

location in grid

Definition at line 46 of file Raycast/vuSampleRay.h.

float ns_vu1112113::vuSampleRay::incr[2][2] [protected]
 

increments for chosen direction

Definition at line 49 of file Raycast/vuSampleRay.h.

const DatGrid* ns_vu1112113::vuSampleRay::m_Grid [protected]
 

grid ray is within

Definition at line 44 of file Raycast/vuSampleRay.h.

Referenced by advanceRay(), attachToGrid(), operator=(), SamplingDistance(), and vuSampleRay().

int ns_vu1112113::vuSampleRay::m_InSide [protected]
 

side IDs for leaving and entering the data cube

Definition at line 53 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::m_Side [protected]
 

Definition at line 53 of file Raycast/vuSampleRay.h.

float ns_vu1112113::vuSampleRay::m_SmpDist [protected]
 

sampling distance (length of direction vector)

Definition at line 42 of file Raycast/vuSampleRay.h.

Referenced by SamplingDistance(), and vuSampleRay().

int ns_vu1112113::vuSampleRay::maxSmp [protected]
 

Definition at line 51 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::numSmp [protected]
 

total and current number of samples

Definition at line 51 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::p[3] [protected]
 

Definition at line 59 of file Raycast/vuSampleRay.h.

Referenced by advanceRay().

int ns_vu1112113::vuSampleRay::step[3] [protected]
 

forward/backward steps (1 or -1)

Definition at line 48 of file Raycast/vuSampleRay.h.

int ns_vu1112113::vuSampleRay::steps [protected]
 

Definition at line 55 of file Raycast/vuSampleRay.h.

Referenced by advanceRay(), attachToGrid(), operator=(), SamplingDistance(), and vuSampleRay().

float ns_vu1112113::vuSampleRay::t[3] [protected]
 

Definition at line 60 of file Raycast/vuSampleRay.h.

Referenced by advanceRay(), and attachToGrid().

float ns_vu1112113::vuSampleRay::w[8] [protected]
 

Definition at line 58 of file Raycast/vuSampleRay.h.

Referenced by advanceRay(), and getSamplePoint().


The documentation for this class was generated from the following files:
Generated on Wed Dec 15 21:22:13 2004 for vuVolume by  doxygen 1.3.9.1