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 ()
 
WFacegetWFace () const
 
Polygon3rgetCameraSpacePolygon ()
 
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: