Blender V5.0
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 88 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 false, Freestyle::SphericalGrid::findCell(), G, and G_DEBUG_FREESTYLE.

Member Function Documentation

◆ getCameraSpacePolygon()

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

Definition at line 354 of file SphericalGrid.h.

◆ getWFace()

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

Definition at line 349 of file SphericalGrid.h.

◆ initAfterTarget()

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

Definition at line 179 of file SphericalGrid.h.

References G, and G_DEBUG_FREESTYLE.

◆ initBeforeTarget()

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

Definition at line 171 of file SphericalGrid.h.

◆ nextOccludee()

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

Definition at line 318 of file SphericalGrid.h.

◆ nextOccluder()

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

Definition at line 309 of file SphericalGrid.h.

◆ reportDepth()

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

Definition at line 277 of file SphericalGrid.h.

References G, G_DEBUG_FREESTYLE, and norm().

◆ validAfterTarget()

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

Definition at line 332 of file SphericalGrid.h.

◆ validBeforeTarget()

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

Definition at line 327 of file SphericalGrid.h.


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