public

Inheritance Graph

graph BT
	VisibilitySphere
	click VisibilitySphere "classMinSG_1_1SVS_1_1VisibilitySphere"

Description

Sphere containing sample points on its surface. The sample points store visibility information.

Author: Benjamin Eikel

Date: 2012-01-17

Public Functions

   
   
  VisibilitySphere( Geometry::Sphere_f _sphere, const std::vector< SamplePoint > & _samples)
Build a new triangulation from the given samples.
   
  VisibilitySphere( Geometry::Sphere_f && _sphere, std::vector< SamplePoint > && _samples)
Move the given sphere and the given samples into the visibility sphere.
   
  VisibilitySphere( Geometry::Sphere_f newSphere, const std::deque< const VisibilitySphere * > & visibilitySpheres)
   
  VisibilitySphere(const VisibilitySphere & void)
   
  VisibilitySphere( VisibilitySphere && void)
   
  ~VisibilitySphere()
   
bool operator==(const VisibilitySphere & other) const
Equality comparison.
   
const Geometry::Sphere_f & getSphere() const
   
void setSphere(const Geometry::Sphere_f & newSphere)
   
const std::vector< SamplePoint > & getSamples() const
   
ListNode * getTriangulationMinSGNodes() const
   
size_t getMemoryUsage() const
   
void evaluateAllSamples( FrameContext & frameContext, Evaluators::Evaluator & evaluator, CameraNodeOrtho * camera, Node * node)
   
void evaluateAllSamples( FrameContext & frameContext, Evaluators::Evaluator & evaluator, CameraNodeOrtho * camera, Node * node, const std::deque< const VisibilitySphere * > & visibilitySpheres, const std::deque< GeometryNode * > & explicitNodes)
   
VisibilitySubdivision::VisibilityVector queryValue(const Geometry::Vec3f & query, interpolation_type_t interpolationMethod) const

Documentation

function
MinSG::SVS::VisibilitySphere::VisibilitySphere

public
     
     
VisibilitySphere( Geometry::Sphere_f _sphere,
  const std::vector< SamplePoint > & _samples
)    

Build a new triangulation from the given samples.

Defined in MinSG/Ext/SVS/VisibilitySphere.h:65


function
MinSG::SVS::VisibilitySphere::VisibilitySphere

public
     
     
VisibilitySphere( Geometry::Sphere_f && _sphere,
  std::vector< SamplePoint > && _samples
)    

Move the given sphere and the given samples into the visibility sphere.

Defined in MinSG/Ext/SVS/VisibilitySphere.h:68


function
MinSG::SVS::VisibilitySphere::VisibilitySphere

public
     
     
VisibilitySphere( Geometry::Sphere_f newSphere,
  const std::deque< const VisibilitySphere * > & visibilitySpheres
)    

Build a new visibility sphere. Firstly, the given set of visibility spheres is checked for consistency (same sample positions). Secondly, a new visibility sphere is created for the given sphere and sample positions.

Parameters

newSphere
Geometric representation of the sphere surface of the new visibility sphere
visibilitySpheres
Sampling spheres that are used to create the new visibility sphere

Defined in MinSG/Ext/SVS/VisibilitySphere.h:78


function
MinSG::SVS::VisibilitySphere::VisibilitySphere

public
     
     
VisibilitySphere( const VisibilitySphere & void )

Defined in MinSG/Ext/SVS/VisibilitySphere.h:81


function
MinSG::SVS::VisibilitySphere::VisibilitySphere

public
     
     
VisibilitySphere( VisibilitySphere && void )

Defined in MinSG/Ext/SVS/VisibilitySphere.h:82


function
MinSG::SVS::VisibilitySphere::~VisibilitySphere

public
   
   
~VisibilitySphere( )

Defined in MinSG/Ext/SVS/VisibilitySphere.h:83


function
MinSG::SVS::VisibilitySphere::operator==

public const
     
     
bool operator==( const VisibilitySphere & other ) const

Equality comparison.

Defined in MinSG/Ext/SVS/VisibilitySphere.h:86


function
MinSG::SVS::VisibilitySphere::getSphere

public const inline
   
   
const Geometry::Sphere_f & getSphere( ) const

Defined in MinSG/Ext/SVS/VisibilitySphere.h:88


function
MinSG::SVS::VisibilitySphere::setSphere

public inline
     
     
void setSphere( const Geometry::Sphere_f & newSphere )

Defined in MinSG/Ext/SVS/VisibilitySphere.h:92


function
MinSG::SVS::VisibilitySphere::getSamples

public const inline
   
   
const std::vector< SamplePoint > & getSamples( ) const

Defined in MinSG/Ext/SVS/VisibilitySphere.h:96


function
MinSG::SVS::VisibilitySphere::getTriangulationMinSGNodes

public const
   
   
ListNode * getTriangulationMinSGNodes( ) const

Defined in MinSG/Ext/SVS/VisibilitySphere.h:100


function
MinSG::SVS::VisibilitySphere::getMemoryUsage

public const
   
   
size_t getMemoryUsage( ) const

Calculate the amount of memory that is required to store the visibility sphere.

Returns

Overall amount of memory in bytes

Defined in MinSG/Ext/SVS/VisibilitySphere.h:107


function
MinSG::SVS::VisibilitySphere::evaluateAllSamples

public
     
     
void evaluateAllSamples( FrameContext & frameContext,
  Evaluators::Evaluator & evaluator,
  CameraNodeOrtho * camera,
  Node * node
)    

Iterate over all sample points on the sphere and perform an evaluation for each point. The given evaluator is used for the evaluation.

Parameters

frameContext
Frame context used for rendering
evaluator
Evaluator that is used to generate values
camera
Orthographic camera that is used for rendering
node
Root node of the scene that is given to the evaluator

Defined in MinSG/Ext/SVS/VisibilitySphere.h:118


function
MinSG::SVS::VisibilitySphere::evaluateAllSamples

public
     
     
void evaluateAllSamples( FrameContext & frameContext,
  Evaluators::Evaluator & evaluator,
  CameraNodeOrtho * camera,
  Node * node,
  const std::deque< const VisibilitySphere * > & visibilitySpheres,
  const std::deque< GeometryNode * > & explicitNodes
)    

Iterate over all sample points on the sphere and perform an evaluation for each point. The given evaluator is used for the evaluation. When evaluating a sample point, only those nodes are taken into account, which are visible for at least one of the corresponding sample points of the given visibility spheres, or which are given explicitly.

Parameters

frameContext
Frame context used for rendering
evaluator
Evaluator that is used to generate values
camera
Orthographic camera that is used for rendering
node
Root node of the scene that is given to the evaluator
visibilitySpheres
Visibility spheres that define the visible nodes for the sampling
explicitNodes
Additional nodes that are explicitly taken into account. The range has to be sorted.

Defined in MinSG/Ext/SVS/VisibilitySphere.h:138


function
MinSG::SVS::VisibilitySphere::queryValue

public const
     
     
VisibilitySubdivision::VisibilityVector queryValue( const Geometry::Vec3f & query,
  interpolation_type_t interpolationMethod
) const    

Return a value for the givenquery. The result depends on theinterpolationMethod.

Parameters

query
Unit vector
interpolationMethod
See documentation ofinterpolation_type_t

Returns

Visibility information for the queried position

Defined in MinSG/Ext/SVS/VisibilitySphere.h:153