Blender V4.5
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 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: