23#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;
100 proscenium[0] = std::min(std::min(std::min(p1.
x(), p2.
x()), std::min(p3.
x(), p4.
x())),
101 std::min(std::min(p5.
x(), p6.
x()), std::min(p7.
x(), p8.
x())));
102 proscenium[1] = std::max(std::max(std::max(p1.
x(), p2.
x()), std::max(p3.
x(), p4.
x())),
103 std::max(std::max(p5.
x(), p6.
x()), std::max(p7.
x(), p8.
x())));
104 proscenium[2] = std::min(std::min(std::min(p1.
y(), p2.
y()), std::min(p3.
y(), p4.
y())),
105 std::min(std::min(p5.
y(), p6.
y()), std::min(p7.
y(), p8.
y())));
106 proscenium[3] = std::max(std::max(std::max(p1.
y(), p2.
y()), std::max(p3.
y(), p4.
y())),
107 std::max(std::max(p5.
y(), p6.
y()), std::max(p7.
y(), p8.
y())));
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")
134 const real proscenium[4]) = 0;
145#ifdef WITH_CXX_GUARDEDALLOC
146 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:GridDensityProviderFactory")
Utility header for auto_ptr/unique_ptr selection.
A class to hold a bounding box.
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 & getMin() const
const Point & getMax() const
const vector< Point > & getVertices() const
virtual AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source, const real proscenium[4])=0
GridDensityProviderFactory()
virtual AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source)=0
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)