Blender V4.3
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 92 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 55 of file SphericalGrid.cpp.

References G, and G_DEBUG_FREESTYLE.

Member Function Documentation

◆ getCameraSpacePolygon()

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

Definition at line 362 of file SphericalGrid.h.

◆ getWFace()

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

Definition at line 357 of file SphericalGrid.h.

◆ initAfterTarget()

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

Definition at line 187 of file SphericalGrid.h.

References G, and G_DEBUG_FREESTYLE.

◆ initBeforeTarget()

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

Definition at line 179 of file SphericalGrid.h.

◆ nextOccludee()

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

Definition at line 326 of file SphericalGrid.h.

◆ nextOccluder()

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

Definition at line 317 of file SphericalGrid.h.

◆ reportDepth()

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

Definition at line 285 of file SphericalGrid.h.

References G, G_DEBUG_FREESTYLE, and norm().

◆ validAfterTarget()

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

Definition at line 340 of file SphericalGrid.h.

◆ validBeforeTarget()

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

Definition at line 335 of file SphericalGrid.h.


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