19class VoxelFieldContext :
public fn::FieldContext {
21 const openvdb::math::Transform &transform_;
22 Span<openvdb::Coord> voxels_;
25 VoxelFieldContext(
const openvdb::math::Transform &
transform, Span<openvdb::Coord> voxels);
27 GVArray get_varray_for_input(
const fn::FieldInput &field_input,
28 const IndexMask &
mask,
29 ResourceScope &scope)
const override;
36class TilesFieldContext :
public fn::FieldContext {
38 const openvdb::math::Transform &transform_;
39 Span<openvdb::CoordBBox> tiles_;
42 TilesFieldContext(
const openvdb::math::Transform &
transform,
43 const Span<openvdb::CoordBBox>
tiles);
45 GVArray get_varray_for_input(
const fn::FieldInput &field_input,
46 const IndexMask &
mask,
47 ResourceScope &scope)
const override;
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
ccl_device_inline float2 mask(const MaskType mask, const float2 a)