Blender  V3.3
Public Member Functions | List of all members
Freestyle::SphericalGrid::Iterator Class Reference

#include <SphericalGrid.h>

Public Member Functions

 Iterator (SphericalGrid &grid, Vec3r &center, real epsilon=1.0e-06)
 
void initBeforeTarget ()
 
void initAfterTarget ()
 
void nextOccluder ()
 
void nextOccludee ()
 
bool validBeforeTarget ()
 
bool validAfterTarget ()
 
WFace * getWFace () const
 
Polygon3r * getCameraSpacePolygon ()
 
void reportDepth (Vec3r origin, Vec3r u, real t)
 

Detailed Description

Iterator needs to allow the user to avoid full 3D comparison in two cases:

(1) Where (*current)->deepest < target[2], where the occluder is unambiguously in front of the target point.

(2) Where (*current)->shallowest > target[2], where the occluder is unambiguously in back of the target point.

In addition, when used by OptimizedFindOccludee, Iterator should stop iterating as soon as it has an occludee candidate and (*current)->shallowest > candidate[2], because at that point forward no new occluder could possibly be a better occludee.

Definition at line 89 of file SphericalGrid.h.

Constructor & Destructor Documentation

◆ Iterator()

Freestyle::SphericalGrid::Iterator::Iterator ( SphericalGrid &  grid,
Vec3r &  center,
real  epsilon = 1.0e-06 
)
explicit

Definition at line 51 of file SphericalGrid.cpp.

References Freestyle::SphericalGrid::findCell(), G, and G_DEBUG_FREESTYLE.

Member Function Documentation

◆ getCameraSpacePolygon()

Polygon3r * Freestyle::SphericalGrid::Iterator::getCameraSpacePolygon ( )
inline

Definition at line 358 of file SphericalGrid.h.

◆ getWFace()

WFace * Freestyle::SphericalGrid::Iterator::getWFace ( ) const
inline

Definition at line 353 of file SphericalGrid.h.

◆ initAfterTarget()

void Freestyle::SphericalGrid::Iterator::initAfterTarget ( )
inline

Definition at line 184 of file SphericalGrid.h.

References G, and G_DEBUG_FREESTYLE.

◆ initBeforeTarget()

void Freestyle::SphericalGrid::Iterator::initBeforeTarget ( )
inline

Definition at line 176 of file SphericalGrid.h.

◆ nextOccludee()

void Freestyle::SphericalGrid::Iterator::nextOccludee ( )
inline

Definition at line 322 of file SphericalGrid.h.

◆ nextOccluder()

void Freestyle::SphericalGrid::Iterator::nextOccluder ( )
inline

Definition at line 313 of file SphericalGrid.h.

◆ reportDepth()

void Freestyle::SphericalGrid::Iterator::reportDepth ( Vec3r  origin,
Vec3r  u,
real  t 
)
inline

Definition at line 281 of file SphericalGrid.h.

References G, G_DEBUG_FREESTYLE, norm(), and t.

◆ validAfterTarget()

bool Freestyle::SphericalGrid::Iterator::validAfterTarget ( )
inline

Definition at line 336 of file SphericalGrid.h.

◆ validBeforeTarget()

bool Freestyle::SphericalGrid::Iterator::validBeforeTarget ( )
inline

Definition at line 331 of file SphericalGrid.h.


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