17 #include "../geometry/BBox.h"
21 #ifdef WITH_CXX_GUARDEDALLOC
60 throw new out_of_range(
"GridDensityProvider::cellOrigin can take only indexes of 0 or 1.");
69 proscenium[0] = proscenium[1] = initialPoint[0];
70 proscenium[2] = proscenium[3] = initialPoint[1];
77 cout <<
"Proscenium: (" << proscenium[0] <<
", " << proscenium[1] <<
", " << proscenium[2]
78 <<
", " << proscenium[3] <<
")" << endl;
109 cout <<
"Proscenium: " << proscenium[0] <<
", " << proscenium[1] <<
", " << proscenium[2]
110 <<
", " << proscenium[3] << endl;
120 #ifdef WITH_CXX_GUARDEDALLOC
121 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:GridDensityProvider")
136 const real proscenium[4]) = 0;
149 #ifdef WITH_CXX_GUARDEDALLOC
150 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:GridDensityProviderFactory")
Utility header for auto_ptr/unique_ptr selection.
Read Guarded memory(de)allocation.
Class to define a cell grid surrounding the projected image of a scene.
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
btGeneric6DofConstraint & operator=(btGeneric6DofConstraint &other)
const Point & getMax() const
const Point & getMin() const
const vector< Point > & getVertices() const
virtual AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source)=0
virtual AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source, const real proscenium[4])=0
GridDensityProviderFactory()
virtual AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source, const BBox< Vec3r > &bbox, const GridHelpers::Transform &transform)=0
virtual ~GridDensityProviderFactory()
static void calculateOptimalProscenium(OccluderSource &source, real proscenium[4])
virtual ~GridDensityProvider()
GridDensityProvider(OccluderSource &source)
float cellOrigin(int index)
static void calculateQuickProscenium(const GridHelpers::Transform &transform, const BBox< Vec3r > &bbox, real proscenium[4])
Polygon3r & getGridSpacePolygon()
VecMat::Vec3< real > Vec3r
void expandProscenium(real proscenium[4], const Polygon3r &polygon)