Commit Graph

288 Commits

Author SHA1 Message Date
mclarsen
2cb26b2de6 something 2017-10-10 07:32:32 -07:00
Robert Maynard
fe8b75f7bf Consistenly use nullptr in vtk-m. 2017-09-25 09:57:23 -04:00
Robert Maynard
311618a15f Enable highest level of warnings(W4) under MSVC
This will make VTK-m warning level match the one used by VTK. This commit
also resolves the first round of warnings that W4 exposes.
2017-09-22 13:04:28 -04:00
Kenneth Moreland
c3a3184d51 Update copyright for Sandia
Sandia National Laboratories recently changed management from the
Sandia Corporation to the National Technology & Engineering Solutions
of Sandia, LLC (NTESS). The copyright statements need to be updated
accordingly.
2017-09-20 15:33:44 -06:00
Matt Larsen
0bea9ce9d9 tracking path lengths if present 2017-09-08 13:22:54 -07:00
Matt Larsen
50956b8074 fixing triangulator and adding a fast path for 3D structured cell sets 2017-09-04 08:17:01 -07:00
Matt Larsen
d55c9afd3e fixing cell indices for volume renderer cell locator 2017-08-29 08:54:52 -07:00
Matt Larsen
aba568768c adding conn fix 2017-08-27 12:16:20 -07:00
Matt Larsen
5782152485 Merge topic 'x_ray_add_emmission'
5429f120 fixed energy error and fix for ray camera
ac784330 Merge remote-tracking branch 'upstream/master' into x_ray_add_emmission
521e445b emission now functioning
52959d91 testing emission
5fc80517 initial version on absorption and emission integration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !893
2017-08-20 00:09:13 -04:00
Matt Larsen
5429f1200e fixed energy error and fix for ray camera 2017-08-19 17:19:03 -07:00
Robert Maynard
a487017fd1 Remove lines that only contain a semi-colon. 2017-08-16 14:31:17 -04:00
Matt Larsen
ac78433085 Merge remote-tracking branch 'upstream/master' into x_ray_add_emmission 2017-08-15 07:27:17 -07:00
Matt Larsen
df185a67aa removing background colors from tracers. Background color is now the responsiblitiy of the canvas. 2017-08-12 17:22:47 -07:00
Matt Larsen
0459913aeb Multi canvas rendering 2017-08-06 11:59:19 -07:00
Matt Larsen
35877cd923 Adding missing file 2017-08-05 19:14:31 -07:00
Matt Larsen
b1e3688bfd multi-canvas working for ray tracer + volume renderer 2017-08-05 19:11:28 -07:00
Matt Larsen
33af0fec65 composing ray tracer and volume renderer is successful. Still need a strategy for the background color. 2017-08-04 09:24:05 -07:00
Matt Larsen
521e445b62 emission now functioning 2017-08-02 08:27:06 -07:00
Matt Larsen
52959d910d testing emission 2017-07-31 07:17:43 -07:00
Matt Larsen
5fc8051712 initial version on absorption and emission integration 2017-07-20 07:30:42 -07:00
Matt Larsen
e783487f98 Adding ArrayHandleCast header 2017-07-08 14:03:33 -07:00
Matt Larsen
a2b3f80356 Cleaning up rendering headers and moving structured volume renderer into cxx file 2017-07-08 13:48:38 -07:00
David C. Lonie
fb2d36be1e Refactor VecRectilinearPointCoordinates.
See #163.
2017-07-07 13:49:35 -04:00
Matt Larsen
33ebf0aaa1 simpler method of scaling epsilon based on primitive AABB 2017-07-04 16:43:31 -07:00
Matt Larsen
c2ffa665d2 Adding scaled epsilon to bounding boxes to handle floating point edge cases 2017-07-04 15:10:17 -07:00
Matt Larsen
ce3814c266 bvh checking for a single triangle 2017-07-03 19:50:45 -07:00
Matt Larsen
95749ee223 connecting composite background from volume mapper to renderer 2017-07-03 11:00:54 -07:00
Matt Larsen
ce2c29105f removing debug variable 2017-07-02 17:02:39 -07:00
Matt Larsen
0498f48269 Fixing incorrect logic when sampling the upper edge of a cell that is on the data set boundry 2017-07-02 17:00:10 -07:00
Matt Larsen
630e871ea7 refactoring ray tracing and adding new renderer 2017-06-17 14:28:45 -07:00
Robert Maynard
5dd346007b Respect VTK-m convention of parameters all or nothing on a line
clang-format BinPack settings have been disabled to make sure that the
VTK-m style guideline is obeyed.
2017-05-26 13:53:28 -04:00
Kitware Robot
4ade5f5770 clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
Kitware Robot
efbde1d54b clang-format: sort include directives 2017-05-18 12:59:33 -04:00
Matt Larsen
1d4cfc2a28 Fixing Min and Max calls not defined for non-floating point types 2017-03-13 21:12:02 -07:00
Matt Larsen
cfc252ad83 completed refactoring 2017-03-13 20:59:32 -07:00
mclarsen
2f9fb6eecb Almost finished refactoring 2017-03-13 17:03:37 -07:00
mclarsen
237df547ec Adding classes to reduce the ammount of redundant code 2017-03-13 11:49:29 -07:00
Matt Larsen
a6bd88d2fe Removing unused timing code and headers 2017-02-22 14:45:33 -08:00
Matt Larsen
50ccedf828 Fixing the default behavior of the volume renderer 2017-02-22 11:17:22 -08:00
Matt Larsen
87e53d6c00 Fixing error in volume renderer 2017-02-10 14:00:02 -08:00
Matt Larsen
1f6ef23b98 adding the ability to turn off background compositing for volume renderer 2017-02-09 16:26:23 -08:00
Matt Larsen
bd845f01d6 Adding coordinate system include to the volume renderer 2017-02-09 13:00:08 -08:00
Matt Larsen
59020fe98f Adding several more includes to the volume renderer 2017-02-09 12:51:46 -08:00
Matt Larsen
9f074e4ad8 Removing typename from typdef declaration in the volume renderer 2017-02-09 12:47:02 -08:00
David C. Lonie
f601e38ba8 Simplify exception hierarchy.
Remove the ErrorControl class such that all subclasses now inherit from
error. Renamed all exception classes via s/ErrorControl/Error/.

See issue #57.
2017-02-07 15:42:38 -05:00
Robert Maynard
a16f9fedbe Reduce the amount of vtables that vtkm::rendering produce. 2017-01-16 09:17:38 -05:00
Kenneth Moreland
02e37f4bc5 Fix an issue with casting a float to an int too soon
There was a case of bad casting where a Float32 that should be in the
range between 0 and 1 was cast to an Id and then multiplied by the size
of an array. The intention is to get a proportional index into the
array, but because the float was cast to an int first, you get either
the first or last index.

Instead, first cast the size of the array to a Float32, multiply it by
the fraction, and then cast back to an Id. That should give the desired
effect.
2016-11-22 15:34:56 -07:00
Kenneth Moreland
fdaccc22db Remove exports for header-only functions/methods
Change the VTKM_CONT_EXPORT to VTKM_CONT. (Likewise for EXEC and
EXEC_CONT.) Remove the inline from these macros so that they can be
applied to everything, including implementations in a library.

Because inline is not declared in these modifies, you have to add the
keyword to functions and methods where the implementation is not inlined
in the class.
2016-11-15 22:22:13 -07:00
Dave Pugmire
80eb8621e2 more uninitialized compiler warnings... 2016-11-07 15:24:38 -05:00
Dave Pugmire
2975b03a53 Remove 'uninitialized variable' warning. 2016-11-07 15:07:03 -05:00
Dave Pugmire
f413bac78c Fix compiler warnings. 2016-11-04 11:43:30 -04:00
Robert Maynard
6d9dd7d233 Correct conversion warning in VolumeRendererStructured 2016-10-31 15:27:45 -04:00
Robert Maynard
0f58d6fc54 Add vtkm/cont/serial directory for the serial backend. 2016-09-28 14:22:53 -04:00
Kenneth Moreland
4b83826345 Fix uninitialized variable warning in structured volume renderer
One of the dashboard was complaining that the bottomLeft variable might
have been used uninitialized because it got set in a condition above it.
In fact, that condition is always true the first during the first
iteration, but it is not worth fighting the compiler over it. Instead,
just initialize the value of bottomLeft when it is constructed.
2016-09-22 09:52:12 -06:00
Dave Pugmire
a12b5eeae3 Fix compile errors. decl for memcpy required. 2016-09-20 11:03:25 -04:00
Kenneth Moreland
8cb2803b45 Merge branch 'precision-warnings' into 'master'
Fix precision warnings when FloatDefault is 64 bit

When VTKm_USE_DOUBLE_PRECISION is on (not the default), then
vtkm::FloatDefault is set to 64 bit values. There was some code that was
coded for 32 bit and never checked for 64 bit (on all compilers).

See merge request !526
2016-09-07 13:54:13 -04:00
Robert Maynard
f81c42b9b4 Replace NULL with nullptr where applicable. 2016-09-01 09:38:25 -04:00
Kenneth Moreland
893f3115f2 Fix precision warnings when FloatDefault is 64 bit
When VTKm_USE_DOUBLE_PRECISION is on (not the default), then
vtkm::FloatDefault is set to 64 bit values. There was some code that was
coded for 32 bit and never checked for 64 bit (on all compilers).
2016-08-26 09:33:37 -06:00
Dave Pugmire
78f368486c Did a chmod on these files that had the execute bit set. 2016-08-24 13:08:23 -04:00
Robert Maynard
31138293f9 Pass Fields and CoordinateSystems to Dispatcher::Invoke
Now that we can handle scheduling Fields and CoordinateSystems, do
2016-08-05 15:26:17 -04:00
Kenneth Moreland
dc15a6bedb Get around issue with min/max macros defined
There were a few places in the source code where
std::numeric_limits::min and max were used. There is an issue with these
methods on windows because the standard libraries there define macros
with the same name. Get around this problem by either places parentheses
so that they do not look like macros or use the vtkm::Infinity methods
instead.
2016-06-15 17:44:45 -06:00
Kenneth Moreland
5af7c6ff4c Hide internal parts of Canvas 2016-06-09 12:07:59 -06:00
Kenneth Moreland
55af901f60 Hide Camera private parts
With only a few exceptions for simple structures, we do not expose the
members of classes. Instead, we provide accessor methods. Do this for
Camera as well as add some helper methods.
2016-06-09 12:07:58 -06:00
Kenneth Moreland
0769b96bf3 Remove Width and Height from Camera
The width and height are maintained out of necessity by the canvas. A
second copy was maintained by the camera, which was only used for
computing the aspect ratio and similar metrics for projections.

Having to maintain the width/height in two places is a bit of a hassle
and provides the opportunity for bugs if they get out of sync. Instead,
have the width/height managed in one place (the canvas) and pass them as
parameters as necessary.
2016-06-09 12:07:56 -06:00
Kenneth Moreland
b01e8391b4 Consolidate functionality in Canvas classes
Move some of the management of the width, height, and buffers to the base
Canvas class. Also, when it makes sense, get the width and height from
the rendering system.

Also changed the color buffer to be a Vec so that you don't have to
manage array offsets by hand.

All of these changes snowballed from the observation that the glut
example did not properly enable the depth buffer.
2016-06-09 12:07:55 -06:00
Kenneth Moreland
e30607f134 Hide internal std::vector in Scene
Generally we try not to expose the implementation details of how things
are stored in objects.

Also changed some arguments that should have been declared const to
actually be const.
2016-06-09 12:07:53 -06:00
Kenneth Moreland
8834458238 Fix use of uninitialized invSpacing value
The SamplerRect worklet had an error where it was possible that the
invSpacing stack-local values could be used uninitialized. On the first
iteration of the loop in the SamplerRect operation, it calls LocateCell,
which is supposed to set invSpacing. Under most conditions it does, but
if one of the ray directions is 0 (which can happen with axis-aligned
views), one of the invSpacing dimensions was skipped, leaving the value
to whatever garbage happened to be on the stack. Later, the invSpacing
value was used to interpolate a scalar, which under some circumstances
could cause an array index error when looking up a color in the color
map.

This fix changes the condition for when the ray direction is 0 to still
initialize invSpacing.
2016-06-07 09:36:56 -06:00
Kenneth Moreland
fa3e43fbaa Change vtkm::rendering::RenderSurface to Canvas
The word surface is more often used for something like a polygonal mesh,
so this name is quite confusing. Canvas is consistent with a
conventional name in GUI widget APIs.
2016-06-02 16:04:13 -06:00
Kenneth Moreland
1934049df9 Change vtkm::rendering::View to Camera 2016-06-02 13:04:01 -06:00
Kenneth Moreland
507222c489 Change rendering classes to use Range and Bounds
In addition to this being necessary to be compatible with recent
changes, it makes for cleaner declaration of these values.
2016-05-29 18:49:37 -06:00
Dave Pugmire
dc31494b59 Merge branch 'master' into annot5 2016-05-20 10:04:37 -04:00
Kenneth Moreland
1736a117ba Fix warnings about out of order member initialization
There are a lot of VTK-m coding style issues I would also like to clean
up (such as variable names and using "this->" before member variables),
but it is late and I want to go home.
2016-05-19 17:27:16 -06:00
Kenneth Moreland
68c18b2e38 Fix multiple warnings about unused params and precision loss 2016-05-19 17:15:06 -06:00
Kenneth Moreland
ee73ab96a8 Fix warning about initialization out of order in RenderSurface.h
C++ standard states that all class member variables are initialized in
the order they are declared in the class. Thus, it is considered good
C++ style to have their initialization listing in the constructor to
match the actual order they are initialized. The compiler could give a
warning otherwise.

While I am at it, rename the member variables to be more aligned with
VTK-m coding style (i.e. start with capital letter and be descriptive).
2016-05-19 16:59:39 -06:00
Kenneth Moreland
732a45ff3b Fix shadowed variable warnings and style for View.h
Several of the methods in View.h were giving me warnings about shadowed
variables because the name of the arguments were the same as some class
member variables. I fixed this by changing the variable names to match
the VTK-m coding convention of using capitalized words for class member
variables and starting lower case letter for method arguments and local
variables.

Since this ended up changing over half of the lines of View.h and
Camera.h anyway, I also made some other modifications to the style to put
it in alignment with VTK-m coding conventions including 2-space
indentation and more descriptive variable names.
2016-05-19 16:37:37 -06:00
Jeremy Meredith
d221166235 fixing warning about type conversion 2016-05-19 10:18:18 -04:00
Dave Pugmire
88864f8453 fix compiler warning. 2016-05-19 10:10:44 -04:00
Dave Pugmire
6322ff2d86 fix compiler warning. 2016-05-19 09:58:39 -04:00
Dave Pugmire
ff2e5885f3 fix compiler warnings. 2016-05-19 09:57:54 -04:00
Matt Larsen
e6a4570b6d Added copyright statement to VolumeRendererStructured.h 2016-05-18 20:51:04 -04:00
mclarsen
d0c18e83a9 Fixing typo in CMakeLists 2016-05-18 16:38:15 -07:00
mclarsen
6ada07ea31 Added structured 2016-05-18 16:30:07 -07:00
mclarsen
cca9b3dea9 merged volume renderers 2016-05-18 10:25:05 -07:00
mclarsen
ed98f6dc24 Ray Tracer 2016-05-17 22:13:36 -07:00
Dave Pugmire
1af37d0102 Support for 2D rendering. And some general clean up. 2016-04-18 16:42:59 -04:00
Robert Maynard
76b6179abf Add missing copyright headers. 2016-03-28 11:16:35 -04:00
mclarsen
693b98b92a Merging 2016-03-28 08:51:36 -04:00
mclarsen
03a95c44b1 adding rendering from other branch 2016-03-28 08:50:04 -04:00