Commit Graph

285 Commits

Author SHA1 Message Date
Roxana Bujack
f8c9af4f11 add default empty ghost field for compatibility 2023-11-07 10:29:16 -07:00
Roxana Bujack
c720744fb9 enable partitioned rendering by ghost blanking and depth sorting 2023-11-06 17:42:43 -07:00
Vicente Adolfo Bolea Sanchez
d800a33c2e remove unused variables 2023-08-07 14:51:06 -04:00
Kenneth Moreland
29c96a24fa Rename structured connectivity index conversion methods
The structured connectivity classes are templated on two tags to
determine what 2 incident topological elements are being accessed. Back
in the day, these were called the "from" elements and "to" elements, as
taken from VTK filter names like `PointDataToCellData`. However, these
names were found to be very confusion, and after much debate they have
been renamed to the visit element type and the incident element type.
Meaning that a worklet is "visiting" elements of a particular type (such
as visiting each cell) and can access "incident" elements of a
particular type (such as the points incident on the cell).

I found a few methods converting flat and logical indices using the old,
confusing from/to convention. This changes them to the new convention.
2023-06-02 15:31:24 -04:00
Li-Ta Lo
ca1fe424cd cleanup Camera 2023-05-30 09:49:29 -06:00
Li-Ta Lo
d660a53b8d clean up Ray and RayOperator 2023-05-18 14:45:16 -06:00
Li-Ta Lo
9ed11540f1 cleanup Camera 2023-05-17 12:38:43 -06:00
Li-Ta Lo
6e75be33ec unique_ptr know if itself is valid 2023-05-10 17:31:50 -06:00
Li-Ta Lo
50a9efc2f5 use rvalue ref for parameter 2023-05-10 17:28:30 -06:00
Li-Ta Lo
61c002072f cleanup C++ usage, use unique_ptr for PIMPL 2023-05-10 10:17:14 -06:00
Li-Ta Lo
5279408711 revert renaming this to self 2023-05-03 12:35:53 -06:00
Li-Ta Lo
5787852a8e use Invoker instead of Dispatcher 2023-05-01 14:41:16 -06:00
Li-Ta Lo
3045deb665 rename Adopter -> Adapter 2023-04-28 13:21:26 -06:00
Li-Ta Lo
9cdc16c9ab fixed warning about float 2023-04-28 08:24:15 -06:00
Li-Ta Lo
8c324f8244 Vec3f for param 2023-04-27 10:18:15 -06:00
Li-Ta Lo
f799826faa use Vec3f for parametric coordinate 2023-04-27 10:10:45 -06:00
Li-Ta Lo
6fa506d60d clean up 2023-04-27 08:29:42 -06:00
Li-Ta Lo
b7b3d51b1d use CRTP to factor out common code 2023-04-26 12:33:05 -06:00
Li-Ta Lo
b1804f591c calculate invSpacing 2023-04-26 11:41:55 -06:00
Li-Ta Lo
4f91cfded4 making the two sampler look closer 2023-04-26 09:02:43 -06:00
Li-Ta Lo
5ccf5dd5bc first cut at delegate RectilinearLocator 2023-04-25 16:42:21 -06:00
Li-Ta Lo
8dcd78b1ba delegate to vtk::cont::CellLocatorUniformGrid 2023-04-25 08:47:57 -06:00
Li-Ta Lo
86e6c5c3e0 use lambda instead of functor, remove unused code 2023-04-20 13:34:58 -06:00
Mark Bolstad
7d3ea2126d Changes for compiling with SYCL
- Remove volatile keyword from `join'
  - Remove various `printf' in device code
2023-02-15 14:38:59 -07:00
Kenneth Moreland
3e1339f9a7 Remove deprecated features from VTK-m
With the major revision 2.0 of VTK-m, many items previously marked as
deprecated were removed. If updating to a new version of VTK-m, it is
recommended to first update to VTK-m 1.9, which will include the deprecated
features but provide warnings (with the right compiler) that will point to
the replacement code. Once the deprecations have been fixed, updating to
2.0 should be smoother.
2022-11-17 07:12:31 -06:00
Kenneth Moreland
c029ac113d Expose the Variant helper class
For several versions, VTK-m has had a `Variant` templated class. This acts
like a templated union where the object will store one of a list of types
specified as the template arguments. (There are actually 2 versions for the
control and execution environments, respectively.)

Because this is a complex class that required several iterations to work
through performance and compiler issues, `Variant` was placed in the
`internal` namespace to avoid complications with backward compatibility.
However, the class has been stable for a while, so let us expose this
helpful tool for wider use.
2022-11-01 07:52:41 -06:00
Abhishek Yenpure
3ae5302c3d Merge topic 'shading_scalarRenderer'
35f15f49d Merge branch 'shading_scalarRenderer' of https://gitlab.kitware.com/nicolemarsaglia/vtk-m into shading_scalarRenderer
add81512d 64->32 float type
d77ba3b20 refactor
d399e5d38 change comment
5e361acea abmient -> ambient
0f0704a0b update to vtkm1.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nicole Marsaglia <marsaglia1@llnl.gov>
Merge-request: !2804
2022-09-13 20:34:41 -04:00
Dave Pugmire
fbe78b45cf Change all usage of IsField* to Is*Field. 2022-08-29 14:42:02 -04:00
Nicole Marsaglia
add81512d1 64->32 float type 2022-07-06 08:01:10 -07:00
Nicole Marsaglia
d77ba3b20a refactor 2022-07-06 07:51:01 -07:00
Nicole Marsaglia
d399e5d38f change comment 2022-07-06 07:45:17 -07:00
Nicole Marsaglia
5e361acea6 abmient -> ambient 2022-07-05 14:22:55 -07:00
Nicole Marsaglia
0f0704a0ba update to vtkm1.8 2022-07-05 11:58:18 -07:00
Manish Mathai
eaabcb263b Merge topic 'enhance-glyphing-types'
814ec27f1 Add MapperGlyphScalar and MapperGlyphVector mappers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2747
2022-06-15 20:17:53 -04:00
Manish Mathai
814ec27f1e Add MapperGlyphScalar and MapperGlyphVector mappers
These mappers can be used to render cell sets as glyphs. The following
glyph types are available for scalar fields:
 - Cube
 - Sphere
 - Axes
 - Quads

For vector fields:
 - Arrows
2022-06-15 15:19:53 -07:00
Manish Mathai
09fc8155af Merge topic 'fix-mapper-quad'
27825778e Fix color rendering when using MapperQuad

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2729
2022-04-20 12:04:35 -04:00
Kenneth Moreland
1053b40bde Merge topic 'scoped-enum-rendering'
2fd8a9b9a Remove deprecated use of old unscoped enums in rendering
e051565d9 Use scoped enums in rendering classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2736
2022-03-21 08:36:35 -04:00
Kenneth Moreland
2fd8a9b9aa Remove deprecated use of old unscoped enums in rendering 2022-03-17 15:28:11 -06:00
Kenneth Moreland
f8f41e0ef5 Update use of field association enumerations
The enumerations in `vtkm::cont::Field::Association` were renamed in the
previous commit. The old names still exist, but are deprecated. Change
the rest of the code to use the new names.
2022-03-17 11:02:37 -06:00
Manish Mathai
27825778e8 Fix color rendering when using MapperQuad
This fix lerps the scalar field values at points of ray intersection,
ensuring rendering of quads pick the correct lerped color instead of
using the same color for the entire quad.
2022-03-11 13:36:35 -08:00
Manish Mathai
ae17410f2f Merge topic 'volume-renderer-oob-fix'
36822756b Fix out of bounds cell location searchs in VolumeRendererStructured

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2685
2022-01-26 14:13:28 -05:00
Manish Mathai
36822756b9 Fix out of bounds cell location searchs in VolumeRendererStructured
`RectilinearLocator::LocateCell` and `UniformLocator::LocateCell` assume
that the point in inside the bounds of the cell set, but may return a
cell location that does not exist, i.e., cell location that is outside
of the bounds of the cell set due to errors from floating point
operations.

This fix, given the assumption above, bounds the calculated cell
location to within the cellset by capping the indices to within the
limits.
2022-01-26 09:27:05 -08:00
Kenneth Moreland
4650a1da96 Deprecate old methods from DynamicCellSet
The `DynamicCellSet` (and the related `DynamicCellSetBase`) are
deprecated and replaced with `UnknownCellSet` (and `UncertainCellSet`).
Thus, `UnknownCellSet` has some methods inherited from `DynamicCellSet`
but replaced with other functionality. These methods are now marked as
deprecated and their use is removed.
2022-01-05 08:18:17 -07:00
Kenneth Moreland
0b84787f78 Deprecate DynamicCellSet and remove from code
The `DynamicCellSet` class is now marked as deprecated (as is the header
that contains it), and all non-deprecated code is moved to its
`UnknownCellSet` replacement.

Also added a deprecation warning for the VariantArrayHandle.h header
file and deleted a couple inappropriate uses of it.
2022-01-04 15:38:18 -07:00
Kenneth Moreland
0a89a5fff5 Store UnknownCellSet instead of DynamicCellSet in DataSet
`UnknownCellSet` is an updated replacement for `DynamicCellSet`. The
next step in the replacement is to change `DataSet` to use the new
class.

Also replaced `DynamicCellSet` with `UnknownCellSet` in a few
places where `DynamicCellSet.h` was not directly included (and
therefore now no longer included at all). This change would have
to be made at some point anyway.
2022-01-03 13:52:30 -07:00
Kenneth Moreland
a2ab460f5d Compile more sources without device compiler
We have been doing a better job at hiding device code (and moving code
into libraries). Smoke out source that no longer needs to be compiled by
device compilers.
2022-01-03 08:23:04 -07:00
Kenneth Moreland
f883b5e036 Avoid divide by zero in rendering TriangleIntersections 2021-07-12 11:23:24 -06:00
Kenneth Moreland
83369ed95a Remove unused fields from Ortho2DRayGen
There were apparently some fields copy/pasted from the 3D version were
not used in the 2D version (probably because they had no meaning). In
one case, one was erroneously normalized, and could cause a floating
point exception.
2021-07-12 10:29:46 -06:00
Kenneth Moreland
cb3bb43ff9 Completely deprecate virtual methods
Deprecate `VirtualObjectHandle` and all other classes that are used to
implement objects with virtual methods in the execution environment.

Additionally, the code is updated so that if the
`VTKm_NO_DEPRECATED_VIRTUAL` flag is set none of the code is compiled at
all. This opens us up to opportunities that do not work with virtual
methods such as backends that do not support virtual methods and dynamic
libraries for CUDA.
2021-04-28 07:28:32 -06:00
Kenneth Moreland
6b144abe41 Remove virtual methods from MeshConnectivity in rendering
Virtual methods were used in the `MeshConnectivity` classes for the
internal ray casting system. However, using virtual methods in the
execution environment is being deprecated.

This change replaces the virtual object with an object containing a
`Variant`. The `Variant` holds one of the supported mesh connectivities
and selects the correct one at runtime rather than jumping into a
virtual method.
2021-04-12 15:53:36 -06:00