35 #ifndef IECORE_POINTDISTRIBUTION_H
36 #define IECORE_POINTDISTRIBUTION_H
38 #include "OpenEXR/ImathVec.h"
39 #include "OpenEXR/ImathBox.h"
41 #include "boost/noncopyable.hpp"
43 #include "IECore/Export.h"
78 template<
typename DensityFunction,
typename Po
intFunction>
79 void operator () (
const Imath::Box2f &bounds,
float density, DensityFunction &densitySampler, PointFunction &pointEmitter )
const;
88 template<
typename Po
intFunction>
89 void operator () (
const Imath::Box2f &bounds,
float density, PointFunction &pointEmitter )
const;
99 template<
typename DensityFunction,
typename Po
intFunction>
100 struct DensityThresholdedEmitter;
102 template<
typename Po
intFunction>
103 void processTile(
const Tile &tile,
const Imath::V2f &bottomLeft,
const Imath::Box2f &bounds,
float density, PointFunction &pointEmitter )
const;
105 template<
typename Po
intFunction>
106 void recurseTile(
const Tile &tile,
const Imath::V2f &bottomLeft,
unsigned level,
const Imath::Box2f &bounds,
float density, PointFunction &pointEmitter )
const;
108 typedef std::vector<Tile> TileVector;
113 inline unsigned int hash(
int x,
int y )
const;
114 static const unsigned int m_permSize = 256;
115 std::vector<unsigned int> m_perm;
121 #include "IECore/PointDistribution.inl"
123 #endif // IECORE_POINTDISTRIBUTION_H
Definition: PointDistribution.h:62
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43