10 #ifndef OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED 11 #define OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED 16 #include <openvdb/thread/Threading.h> 43 bool isStatic()
const;
52 bool hasWeight(
Index i)
const;
53 float weight(
Index i)
const;
59 void setShutter(
float start,
float end);
60 float shutterStart()
const;
61 float shutterEnd()
const;
64 std::deque<math::Transform> mTransforms;
65 std::deque<float> mWeights;
67 float mShutterStart = -0.25f,
91 : transform(new math::Transform(_transform))
92 , camera(_transform) { }
96 bool scaleByVoxelVolume =
false,
98 accurateFrustumRadius =
false,
99 accurateSphereMotionBlur =
false,
100 velocityMotionBlur =
false,
102 float threshold = 1e-6f,
104 framesPerSecond = 24.0f;
106 radiusAttribute =
"pscale";
107 int motionSamples = 2;
121 const bool clipToFrustum =
true,
122 const bool invert =
false);
124 operator bool()
const;
128 bool valid(
const Coord& ijk,
AccessorT* acc)
const;
135 bool mInvert =
false;
139 namespace point_rasterize_internal {
141 template <
typename Po
intDataGr
idT>
162 template<
typename Po
intDataGr
idT>
187 void addPoints(
GridPtr& points,
bool stream =
false);
198 template <
typename FilterT = po
ints::NullFilter>
200 rasterizeUniformDensity(
RasterMode mode=RasterMode::MAXIMUM,
201 bool reduceMemory =
false,
float scale = 1.0f,
const FilterT& filter = FilterT());
203 template <
typename FilterT = po
ints::NullFilter>
206 bool reduceMemory =
false,
float scale = 1.0f,
const FilterT& filter = FilterT());
208 template <
typename FilterT = po
ints::NullFilter>
210 rasterizeAttribute(
const Name& attribute,
RasterMode mode=RasterMode::ACCUMULATE,
211 bool reduceMemory =
false,
float scale = 1.0f,
const FilterT& filter = FilterT());
213 template <
typename Gr
idT,
typename AttributeT,
typename FilterT = po
ints::NullFilter>
215 rasterizeAttribute(
const Name& attribute,
RasterMode mode=RasterMode::ACCUMULATE,
216 bool reduceMemory =
false,
float scale = 1.0f,
const FilterT& filter = FilterT());
218 template <
typename Gr
idT,
typename FilterT = po
ints::NullFilter>
220 rasterizeMask(
bool reduceMemory =
false,
const FilterT& filter = FilterT());
223 template <
typename AttributeT,
typename Gr
idT,
typename FilterT>
225 performRasterization(
227 bool reduceMemory,
float scale,
const FilterT& filter);
234 std::vector<GridToRasterize> mPointGrids;
253 #endif // OPENVDB_POINTS_POINT_RASTERIZE_FRUSTUM_HAS_BEEN_INCLUDED RasterMode
How to composite points into a volume.
Definition: PointRasterizeFrustum.h:29
std::vector< Name > excludeNames
Definition: PointRasterizeFrustum.h:243
SharedPtr< const Tree > ConstPtr
Definition: Tree.h:181
The Value Accessor Implementation and API methods. The majoirty of the API matches the API of a compa...
Definition: ValueAccessor.h:68
A struct that stores all include/exclude attribute names as strings and is internally converted into ...
Definition: PointRasterizeFrustum.h:240
typename PointDataGridT::ConstPtr GridConstPtr
Definition: PointRasterizeFrustum.h:167
Definition: PointRasterizeFrustum.h:111
MatType scale(const Vec3< typename MatType::value_type > &s)
Return a matrix that scales by s.
Definition: Mat.h:615
Methods for counting points in VDB Point grids.
Base class for interrupters.
Definition: NullInterrupter.h:25
A camera class that provides an interface for camera motion blur when rasterizing.
Definition: PointRasterizeFrustum.h:38
A group of shared settings to be used in the Volume Rasterizer.
Definition: PointRasterizeFrustum.h:86
BBox< Coord > CoordBBox
Definition: NanoVDB.h:2535
typename PointDataGridT::Ptr GridPtr
Definition: PointRasterizeFrustum.h:166
Efficient rasterization of one or more VDB Points grids into a linear or frustum volume with the opti...
Definition: PointRasterizeFrustum.h:163
Container class that associates a tree with a transform and metadata.
Definition: Grid.h:28
RasterCamera camera
Definition: PointRasterizeFrustum.h:95
Definition: Exceptions.h:13
std::string Name
Definition: Name.h:19
SharedPtr< Grid > Ptr
Definition: Grid.h:573
FrustumRasterizerSettings(const math::Transform &_transform)
Definition: PointRasterizeFrustum.h:90
Index32 Index
Definition: Types.h:54
std::vector< Name > includeNames
Definition: PointRasterizeFrustum.h:242
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
SharedPtr< GridBase > Ptr
Definition: Grid.h:80
OPENVDB_API SharedPtr< MapBase > simplify(SharedPtr< AffineMap > affine)
reduces an AffineMap to a ScaleMap or a ScaleTranslateMap when it can
math::BBox< Vec3d > BBoxd
Definition: Types.h:84
Digital Differential Analyzers specialized for VDB.
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
Definition: PointRasterizeFrustum.h:142
math::Transform::Ptr transform
Definition: PointRasterizeFrustum.h:94
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:212