From elvis.stansvik at orexplore.com Fri Jun 1 02:53:57 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Fri, 1 Jun 2018 08:53:57 +0200 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: Den tors 31 maj 2018 20:06David E DeMarle skrev: > The suppression file that we used most recently on the karego-at submitter > is attached. > > See also > https://gitlab.kitware.com/vtk/vtk/blob/master/Utilities/Maintenance/parse_valgrind.py > which I wrote to speed up the process of building it. > Many thanks David. Elvis > ? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Fri Jun 1 10:04:50 2018 From: sean at rogue-research.com (Sean McBride) Date: Fri, 1 Jun 2018 10:04:50 -0400 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: <20180601140450.1216011997@mail.rogue-research.com> On Thu, 31 May 2018 14:05:47 -0400, David E DeMarle said: >The suppression file that we used most recently on the karego-at submitter >is attached. So what's VTKValgrindSuppressions.supp for? Should it be replaced? Deleted? Sean From dave.demarle at kitware.com Fri Jun 1 10:06:19 2018 From: dave.demarle at kitware.com (David E DeMarle) Date: Fri, 1 Jun 2018 10:06:19 -0400 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: <20180601140450.1216011997@mail.rogue-research.com> References: <20180531144258.151063011@mail.rogue-research.com> <20180601140450.1216011997@mail.rogue-research.com> Message-ID: I've never used it so I'd prefer to delete it. David E DeMarle Kitware, Inc. Principal Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4909 On Fri, Jun 1, 2018 at 10:04 AM, Sean McBride wrote: > On Thu, 31 May 2018 14:05:47 -0400, David E DeMarle said: > > >The suppression file that we used most recently on the karego-at submitter > >is attached. > > So what's VTKValgrindSuppressions.supp for? Should it be replaced? > Deleted? > > Sean > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Sat Jun 2 04:42:55 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Sat, 2 Jun 2018 10:42:55 +0200 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: 2018-06-01 8:53 GMT+02:00 Elvis Stansvik : > Den tors 31 maj 2018 20:06David E DeMarle > skrev: > >> The suppression file that we used most recently on the karego-at >> submitter is attached. >> >> See also https://gitlab.kitware.com/vtk/vtk/blob/master/ >> Utilities/Maintenance/parse_valgrind.py which I wrote to speed up the >> process of building it. >> > > Many thanks David. > BTW I'm curious, how can I see a dashboard of all builds for the latest commit to VTK master? At https://open.cdash.org/index.php?project=VTK , under "latest master", there are 10 builds listed, but none of them were submitted by karego-at. I'm guessing you have > 10 submitters? What view of CDash you you normally use to get a glance of how the last commit faired? Cheers, Elvis > Elvis > > >> ? >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Sat Jun 2 04:46:25 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Sat, 2 Jun 2018 10:46:25 +0200 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: 2018-06-02 10:42 GMT+02:00 Elvis Stansvik : > 2018-06-01 8:53 GMT+02:00 Elvis Stansvik : > >> Den tors 31 maj 2018 20:06David E DeMarle >> skrev: >> >>> The suppression file that we used most recently on the karego-at >>> submitter is attached. >>> >>> See also https://gitlab.kitware.com/vtk/vtk/blob/master/Utilitie >>> s/Maintenance/parse_valgrind.py which I wrote to speed up the process >>> of building it. >>> >> >> Many thanks David. >> > > BTW I'm curious, how can I see a dashboard of all builds for the latest > commit to VTK master? > > At https://open.cdash.org/index.php?project=VTK , under "latest master", > there are 10 builds listed, but none of them were submitted by karego-at. > I'm guessing you have > 10 submitters? > > What view of CDash you you normally use to get a glance of how the last > commit faired? > E.g. say I'd like to see how e9241a did. Is there somewhere I can see a list of all builds of that revision? The builds in the dashboard have a Revision column with a clickable link for e9241a, but it brings you to that specific build, not an overview for that revision. Elvis > Cheers, > Elvis > > >> Elvis >> >> >>> ? >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shawn.waldon at kitware.com Mon Jun 4 09:06:22 2018 From: shawn.waldon at kitware.com (Shawn Waldon) Date: Mon, 4 Jun 2018 09:06:22 -0400 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: Hi Elvis, karego-at hasn't submitted in a while since it doesn't like the OpenGL2 backend. We have shut down the dashboard on that one. duma will be the new valgrind dashboard but it isn't set up with its suppression file yet. > E.g. say I'd like to see how e9241a did. Is there somewhere I can see a > list of all builds of that revision? The builds in the dashboard have a > Revision column with a clickable link for e9241a, but it brings you to that > specific build, not an overview for that revision. > > Try something like https://open.cdash.org/index.php?compare1=61&filtercount=1&field1=revision&project=VTK&showfilters=0&limit=100&value1=e9241a17fbf4164a044a9dc45aa24b7af86ba753&showfeed=0 I'm not sure all the query parameters are needed, but that is what we have the buildbot set up to give for links to a specific commit's builds (the buildbot web interface is internal to Kitware). HTH, Shawn -------------- next part -------------- An HTML attachment was scrubbed... URL: From wil_serv at hotmail.com Mon Jun 4 09:30:57 2018 From: wil_serv at hotmail.com (wil1) Date: Mon, 4 Jun 2018 06:30:57 -0700 (MST) Subject: [vtk-developers] -* Plugin compilation for paraview *- (help) In-Reply-To: References: <1527519968804-0.post@n5.nabble.com> <1527765444014-0.post@n5.nabble.com> Message-ID: <1528119057754-0.post@n5.nabble.com> Can you explain me the full procedure of building a plugin with ninja ? I downloaded the git repository : git clone git://github.com/ninja-build/ninja.git Cmake doesn't recognise ninja -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From elvis.stansvik at orexplore.com Mon Jun 4 12:04:33 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 4 Jun 2018 18:04:33 +0200 Subject: [vtk-developers] Valgrind suppressions used by dashboard machines available somewhere? In-Reply-To: References: <20180531144258.151063011@mail.rogue-research.com> Message-ID: Den m?n 4 juni 2018 15:06Shawn Waldon skrev: > Hi Elvis, > > karego-at hasn't submitted in a while since it doesn't like the OpenGL2 > backend. We have shut down the dashboard on that one. duma will be the > new valgrind dashboard but it isn't set up with its suppression file yet. > Alright, that explains it. > > >> E.g. say I'd like to see how e9241a did. Is there somewhere I can see a >> list of all builds of that revision? The builds in the dashboard have a >> Revision column with a clickable link for e9241a, but it brings you to that >> specific build, not an overview for that revision. >> >> > Try something like > https://open.cdash.org/index.php?compare1=61&filtercount=1&field1=revision&project=VTK&showfilters=0&limit=100&value1=e9241a17fbf4164a044a9dc45aa24b7af86ba753&showfeed=0 > > I'm not sure all the query parameters are needed, but that is what we have > the buildbot set up to give for links to a specific commit's builds (the > buildbot web interface is internal to Kitware). > Thanks for this snippet. Will come in handy for our own internal CDash too. Elvis > HTH, > Shawn > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Tue Jun 5 10:33:17 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Tue, 5 Jun 2018 14:33:17 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Message-ID: Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron -------------- next part -------------- An HTML attachment was scrubbed... URL: From lasso at queensu.ca Tue Jun 5 11:06:47 2018 From: lasso at queensu.ca (Andras Lasso) Date: Tue, 5 Jun 2018 15:06:47 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: Hi Patrick, I think these problems are already solved, since you can dynamically concatenate any number of transforms in any combinations (including inverting them) using vtkGeneralTransform. Regarding your solution proposed for ?problem? 3: Ability to temporarily bypass a transform without changing the pipeline would be a feature that I would find useful. Some warping transforms already have scale parameter for enabling/disabling (or slightly emphasizing or de-emphasizing) a transformation, which comes very handy for visualizing the effect of the transformation. This feature could be generalized and moved to vtkAbstractTransform class. Andras ---------- Forwarded message ---------- From: Patrick Bergeron > Date: Tue, Jun 5, 2018 at 10:33 AM Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). To: "vtk-developers at public.kitware.com" > Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- +1 919 869 8849 -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Jun 5 11:12:57 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 5 Jun 2018 09:12:57 -0600 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: Hi Andras, Patrick, I'd just like to add that vtkTransform itself supports dynamic concatenation, it isn't necessary to use vtkGeneralTransform unless you want to concatenate nonlinear transformations. Here's an example (unfortunately it was auto-converted to Python from Tcl so it's poorly formatted): https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/Core/Testing/Python/TransformConcatenation.py - David On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso wrote: > Hi Patrick, > > > > I think these problems are already solved, since you can dynamically > concatenate any number of transforms in any combinations (including > inverting them) using vtkGeneralTransform. > > > > Regarding your solution proposed for ?problem? 3: Ability to temporarily > bypass a transform without changing the pipeline would be a feature that I > would find useful. Some warping transforms already have scale parameter for > enabling/disabling (or slightly emphasizing or de-emphasizing) a > transformation, which comes very handy for visualizing the effect of the > transformation. This feature could be generalized and moved to > vtkAbstractTransform class. > > > > Andras > > > > ---------- Forwarded message ---------- > From: *Patrick Bergeron* > Date: Tue, Jun 5, 2018 at 10:33 AM > Subject: [vtk-developers] Improvements to the transform pipeline (3 > vtkTransform derived classes). > To: "vtk-developers at public.kitware.com" > > > Hi everyone. > > > > I've been using VTK for a bit now, and I've made a few improvements I'd > like to contribute to the community. > > > > Before I do, however, I'd like to know if there is interest in me doing > so before I go through the hassles of submission. > > > > > > GENERAL PROBLEM STATEMENT (MOTIVATION) > > --------------------------------------------------------------- > > > > I have a list of objects that I'd like to transform using a single widget. > Widgets take a single vtkProp3D as target. For (multiple) reasons beyond > the scope of this discussion, I couldn't use vtkAssembly to target my > multiple actors. Plus, I wanted each actor to transform according to their > local reference frame, not the reference frame of the vtkAssembly. > > > > > > PROBLEM (1/3) > > --------------------- > > vtkTransform can take as input another vtkTransform, to which it > concatenates its own SRT values, its output being it the concatenation of > the input transform and itself. > > > > This is useful and allows for multiple scenarios, including this common > pattern of parent-child hierarchical chain of transforms, as is shown in > this Robot-Arm example. > > https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline > > > > > In the example above, 3 transforms are chained together, and > > xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. > > > > xform1 is set as the user transform of the root actor > > xform2 is set as the user transform of the mid actor > > xform3 is set as the user transform of the leaf actor > > > > In other words, the *parent's transform* is inherited, and each actor's > *local transformation* is controlled by calling the normal functions, such > as TranslateX, RotateY, etc, and when concatenated provides the > actor's *global transform* > > > > That's all fine, as long as you want to, or can, control each of the local > transform directly. But what if you'd like to also control the *local > transform* via another transformation pipeline? The vtkTransform's input > is already taken by the parent transform, were would I plug the local > transform's input? > > > > > > SOLUTION (1/3) -- Introducing vtkDualInputTransform > > ------------------------------------------------------------------------ > > > > As its name implies, vtkDualInput transform adds a second input (Input2) > to the standard vtkTransform. > > > > Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], > > Then vtkDualInputTransform's putput is : GetMatrix() = > [INPUT][INPUT2] [MYSELF] > > (with adaptations wrt Pre-Post multiply flag). > > > > In vtkDualInputTransform, both Input1 and Input2 can be muted, so that > they are skipped, just as if there was no input connected. (It's like > closing a gate) > > > > > > ADVANTAGES > > ------------------- > > > > With the vtkDualInputTransform, you can create complex chains of > transforms that allows for direct control of different parts of the > transform multiple actors from a single source. > > > > In my case, Input1 is the parent transform, Input2 is the local transform, > and I leave the internals alone (set to Identity). > > The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] > = [INPUT][INPUT2] > > > > Using this pattern, I have 100 actors driven by different pipelines, yet I > can affect all of them at once by changing a common transformation pipeline > that is plugged into the second input. > > > > > > > > > > > > > > PROBLEM (2/3) > > --------------------- > > > > With the vtkDualInputTransform in place, which I could plug into an > Actor's UserTransform, I could now effect the global transform using 2 > transformation pipelines (its parent tranform, and its local transform). > > > > But, what if I wanted to transform my actors by setting affecting > their local transforms using another actor as the driver? > > (why? because a widget targets a prop/actor, and I want the changes to the > targetted actor's transformation to propagate down to a transformation > pipeline to affect other actors) > > > > In other words, I want: > > > > widget -> actorA's transform -> input of vtkTransform --> input > of vtkTransform --> input of vtkTansform --> input of actorB, actorC, > actorD (etc)'s UserTransform. > > > > While we can do actorA's GetMatrix() (which is the concat of its input and > own pos/ori/scale/origin/etc), there is unfortunately, there is no way to > do actor->GetTransform() (since it might get pushed/popped from the stack, > it might not always be valid, might disappear etc). So how do I drive a > transform pipeline from an actor? > > > > > > SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter > > ------------------------------------------------------------ > ------------------- > > > > This is another derivative of vtkTransform. It has a SetProp3D method, > which serves the same purpose as the vtkTransform's input. > > (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is > issued if it is) > > > > In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of > calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which > ensures is always valid. > > > > > > > > > > > > > > > > PROBLEM (3/3) > > -------------------- > > > > Finally, there's a catch: I want to affect multiple actors's global > transform but control the local transform, but there's a catch when doing > [INPUT][INPUT2]. > > > > Indeed, that concatenation is (roughly) the equivalent of: > > > > Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x > [IN2_trs]. > > > > In other words, by the time we multiply IN2, IN's translation is already > considered, so scale and rotation of the 2nd input will have their > transformation center set to IN's translation, which a problem. > > > > What I want instead is consider the concatenation of the scale, > orientation, and transformation : > > > > Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x > [IN2_trs]. > > > > > > > > SOLUTION (3/3) -- Introducing vtkMutableTransform > > --------------------------------------------------------------------- > > > > Unfortunately, I did not find a proper name for this one, as "mutable" can > imply "changeable". But I meant it to mean that you could "mute" portions > of the transform. > > > > The goal of this derived class is that you feed it a transform, and out > comes the same transform without the muted portions. For example, the > transform's output is the same as the input, with scaling, orientation, or > translation stripped out. > > > > > > > > > > > > CONCLUSION: > > -------------------- > > > > Using the proper combination of the 3 vtkTransform derivatives described > above, and chained together in the proper order, you can make a > transformation graph that is fully automated and controllable from any > point or any source in the transform pipeline. > > > > > > > > Let me know if there is interest in me submitting these 3 classes. > > > > Regards > > Patrick Bergeron > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Tue Jun 5 11:18:00 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Tue, 5 Jun 2018 15:18:00 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: <008954FE-EE64-4282-8739-9194DEAC33D6@spiria.com> Ha. Look at that. I had been searching and I somehow missed the general transform (it took me a 2nd look to even see beyond ?SetInput?, and I can call ?Concatenate? to add any number of inputs. I?ll update my code to test that. This does indeed seem to replace the purpose of my vtkDualInputTransform. However: For problem 2, I still need to make an Actor-to-Transform adapter, unless there is something I don?t see? For problem 3, I?m not bypassing a transform, I?m muting parts of a single transform (eg: the scale, orientation or translation portions). Not sure if this is what you had meant? Patrick. From: vtk-developers on behalf of Andras Lasso Date: Tuesday, June 5, 2018 at 11:06 AM To: "vtk-developers at public.kitware.com" Subject: Re: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Hi Patrick, I think these problems are already solved, since you can dynamically concatenate any number of transforms in any combinations (including inverting them) using vtkGeneralTransform. Regarding your solution proposed for ?problem? 3: Ability to temporarily bypass a transform without changing the pipeline would be a feature that I would find useful. Some warping transforms already have scale parameter for enabling/disabling (or slightly emphasizing or de-emphasizing) a transformation, which comes very handy for visualizing the effect of the transformation. This feature could be generalized and moved to vtkAbstractTransform class. Andras ---------- Forwarded message ---------- From: Patrick Bergeron > Date: Tue, Jun 5, 2018 at 10:33 AM Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). To: "vtk-developers at public.kitware.com" > Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- +1 919 869 8849 -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Tue Jun 5 11:25:34 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Tue, 5 Jun 2018 15:25:34 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: Ok, yes, I just saw that too. If you can do transform mixes using concatenations, why is there an input ? From: vtk-developers on behalf of David Gobbi Date: Tuesday, June 5, 2018 at 11:13 AM To: Andras Lasso Cc: "vtk-developers at public.kitware.com" Subject: Re: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Hi Andras, Patrick, I'd just like to add that vtkTransform itself supports dynamic concatenation, it isn't necessary to use vtkGeneralTransform unless you want to concatenate nonlinear transformations. Here's an example (unfortunately it was auto-converted to Python from Tcl so it's poorly formatted): https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/Core/Testing/Python/TransformConcatenation.py - David On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso > wrote: Hi Patrick, I think these problems are already solved, since you can dynamically concatenate any number of transforms in any combinations (including inverting them) using vtkGeneralTransform. Regarding your solution proposed for ?problem? 3: Ability to temporarily bypass a transform without changing the pipeline would be a feature that I would find useful. Some warping transforms already have scale parameter for enabling/disabling (or slightly emphasizing or de-emphasizing) a transformation, which comes very handy for visualizing the effect of the transformation. This feature could be generalized and moved to vtkAbstractTransform class. Andras ---------- Forwarded message ---------- From: Patrick Bergeron > Date: Tue, Jun 5, 2018 at 10:33 AM Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). To: "vtk-developers at public.kitware.com" > Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Jun 5 11:48:24 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 5 Jun 2018 09:48:24 -0600 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: When I contributed the "transform concatenation" feature to VTK (long, long ago) there was some discussion about how it should be done. I wanted to have just concatenation, and didn't really see much need for SetInput(). Ken Martin thought SetInput() was more consistent with VTK's design (at least I think it was him, this was a long time ago). Lisa Avila thought it would be better for transforms (or perhaps matrices) to be lightweight data objects, and to add special filter classes for dynamic transform concatenation, rather than to have the dynamic features built into the transforms themselves. The final design was a compromise: both Concatenate(vtkTransform *) and SetInput(vtkTransform *) were added. In retrospect, I think Lisa's suggestion of having an explicit set of "transform filters" would have resulted in a cleaner design. The concatenation feature adds a fair bit of weight and complexity to vtkTransform even though it's a feature that people rarely use. - David On Tue, Jun 5, 2018 at 9:25 AM, Patrick Bergeron wrote: > Ok, yes, I just saw that too. > > > > If you can do transform mixes using concatenations, why is there an input ? > > > > > > *From: *vtk-developers on > behalf of David Gobbi > *Date: *Tuesday, June 5, 2018 at 11:13 AM > *To: *Andras Lasso > *Cc: *"vtk-developers at public.kitware.com" kitware.com> > *Subject: *Re: [vtk-developers] Improvements to the transform pipeline (3 > vtkTransform derived classes). > > > > Hi Andras, Patrick, > > > > I'd just like to add that vtkTransform itself supports dynamic > concatenation, it isn't necessary to use vtkGeneralTransform unless you > want to concatenate nonlinear transformations. > > > > Here's an example (unfortunately it was auto-converted to Python from Tcl > so it's poorly formatted): > > https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/ > Core/Testing/Python/TransformConcatenation.py > > > > - David > > > > > > > > On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso wrote: > > Hi Patrick, > > > > I think these problems are already solved, since you can dynamically > concatenate any number of transforms in any combinations (including > inverting them) using vtkGeneralTransform. > > > > Regarding your solution proposed for ?problem? 3: Ability to temporarily > bypass a transform without changing the pipeline would be a feature that I > would find useful. Some warping transforms already have scale parameter for > enabling/disabling (or slightly emphasizing or de-emphasizing) a > transformation, which comes very handy for visualizing the effect of the > transformation. This feature could be generalized and moved to > vtkAbstractTransform class. > > > > Andras > > > > ---------- Forwarded message ---------- > From: *Patrick Bergeron* > Date: Tue, Jun 5, 2018 at 10:33 AM > Subject: [vtk-developers] Improvements to the transform pipeline (3 > vtkTransform derived classes). > To: "vtk-developers at public.kitware.com" > > > Hi everyone. > > > > I've been using VTK for a bit now, and I've made a few improvements I'd > like to contribute to the community. > > > > Before I do, however, I'd like to know if there is interest in me doing > so before I go through the hassles of submission. > > > > > > GENERAL PROBLEM STATEMENT (MOTIVATION) > > --------------------------------------------------------------- > > > > I have a list of objects that I'd like to transform using a single widget. > Widgets take a single vtkProp3D as target. For (multiple) reasons beyond > the scope of this discussion, I couldn't use vtkAssembly to target my > multiple actors. Plus, I wanted each actor to transform according to their > local reference frame, not the reference frame of the vtkAssembly. > > > > > > PROBLEM (1/3) > > --------------------- > > vtkTransform can take as input another vtkTransform, to which it > concatenates its own SRT values, its output being it the concatenation of > the input transform and itself. > > > > This is useful and allows for multiple scenarios, including this common > pattern of parent-child hierarchical chain of transforms, as is shown in > this Robot-Arm example. > > https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline > > > > > In the example above, 3 transforms are chained together, and > > xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. > > > > xform1 is set as the user transform of the root actor > > xform2 is set as the user transform of the mid actor > > xform3 is set as the user transform of the leaf actor > > > > In other words, the *parent's transform* is inherited, and each actor's > *local transformation* is controlled by calling the normal functions, such > as TranslateX, RotateY, etc, and when concatenated provides the > actor's *global transform* > > > > That's all fine, as long as you want to, or can, control each of the local > transform directly. But what if you'd like to also control the *local > transform* via another transformation pipeline? The vtkTransform's input > is already taken by the parent transform, were would I plug the local > transform's input? > > > > > > SOLUTION (1/3) -- Introducing vtkDualInputTransform > > ------------------------------------------------------------------------ > > > > As its name implies, vtkDualInput transform adds a second input (Input2) > to the standard vtkTransform. > > > > Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], > > Then vtkDualInputTransform's putput is : GetMatrix() = > [INPUT][INPUT2] [MYSELF] > > (with adaptations wrt Pre-Post multiply flag). > > > > In vtkDualInputTransform, both Input1 and Input2 can be muted, so that > they are skipped, just as if there was no input connected. (It's like > closing a gate) > > > > > > ADVANTAGES > > ------------------- > > > > With the vtkDualInputTransform, you can create complex chains of > transforms that allows for direct control of different parts of the > transform multiple actors from a single source. > > > > In my case, Input1 is the parent transform, Input2 is the local transform, > and I leave the internals alone (set to Identity). > > The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] > = [INPUT][INPUT2] > > > > Using this pattern, I have 100 actors driven by different pipelines, yet I > can affect all of them at once by changing a common transformation pipeline > that is plugged into the second input. > > > > > > > > > > > > > > PROBLEM (2/3) > > --------------------- > > > > With the vtkDualInputTransform in place, which I could plug into an > Actor's UserTransform, I could now effect the global transform using 2 > transformation pipelines (its parent tranform, and its local transform). > > > > But, what if I wanted to transform my actors by setting affecting > their local transforms using another actor as the driver? > > (why? because a widget targets a prop/actor, and I want the changes to the > targetted actor's transformation to propagate down to a transformation > pipeline to affect other actors) > > > > In other words, I want: > > > > widget -> actorA's transform -> input of vtkTransform --> input > of vtkTransform --> input of vtkTansform --> input of actorB, actorC, > actorD (etc)'s UserTransform. > > > > While we can do actorA's GetMatrix() (which is the concat of its input and > own pos/ori/scale/origin/etc), there is unfortunately, there is no way to > do actor->GetTransform() (since it might get pushed/popped from the stack, > it might not always be valid, might disappear etc). So how do I drive a > transform pipeline from an actor? > > > > > > SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter > > ------------------------------------------------------------ > ------------------- > > > > This is another derivative of vtkTransform. It has a SetProp3D method, > which serves the same purpose as the vtkTransform's input. > > (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is > issued if it is) > > > > In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of > calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which > ensures is always valid. > > > > > > > > > > > > > > > > PROBLEM (3/3) > > -------------------- > > > > Finally, there's a catch: I want to affect multiple actors's global > transform but control the local transform, but there's a catch when doing > [INPUT][INPUT2]. > > > > Indeed, that concatenation is (roughly) the equivalent of: > > > > Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x > [IN2_trs]. > > > > In other words, by the time we multiply IN2, IN's translation is already > considered, so scale and rotation of the 2nd input will have their > transformation center set to IN's translation, which a problem. > > > > What I want instead is consider the concatenation of the scale, > orientation, and transformation : > > > > Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x > [IN2_trs]. > > > > > > > > SOLUTION (3/3) -- Introducing vtkMutableTransform > > --------------------------------------------------------------------- > > > > Unfortunately, I did not find a proper name for this one, as "mutable" can > imply "changeable". But I meant it to mean that you could "mute" portions > of the transform. > > > > The goal of this derived class is that you feed it a transform, and out > comes the same transform without the muted portions. For example, the > transform's output is the same as the input, with scaling, orientation, or > translation stripped out. > > > > > > > > > > > > CONCLUSION: > > -------------------- > > > > Using the proper combination of the 3 vtkTransform derivatives described > above, and chained together in the proper order, you can make a > transformation graph that is fully automated and controllable from any > point or any source in the transform pipeline. > > > > > > > > Let me know if there is interest in me submitting these 3 classes. > > > > Regards > > Patrick Bergeron > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Tue Jun 5 11:52:12 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Tue, 5 Jun 2018 15:52:12 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: Message-ID: <7DB6F61F-008F-41B0-B2A8-1A629EB42A5A@spiria.com> And, here?s another thing that could be done to vtkTransform to eliminate my actor-to-transform adapter class. It would be super easy to do, and be backwards compatible. Currently: vtkTransform::SetInput(vtkAbstractTransform*) Suggestion: vtkTransform::SetInput(vtkObject*) vtkTransform::InternalUpdate() ? ? ? If (this->Input) { vtkAbstractTransform *transform = vtkAbstractTransform::SafeDownCast(this->Input); vtkProp3D *prop3D = vtkProp3D::SafeDownCast(this->Input); If (transform != nullptr) this->Matrix->DeepCopy(transform->GetMatrix()); else if (prop3D != nullptr) this->Matrix->DeepCopy(prop3D->GetMatrix()); else vtkWarningMacro(?InternalUpdate: Bad object type passed as input?); ? ? } This way, actors can directly be an input into the transformation pipeline, the same way as is a normal transform. From: vtk-developers on behalf of David Gobbi Date: Tuesday, June 5, 2018 at 11:13 AM To: Andras Lasso Cc: "vtk-developers at public.kitware.com" Subject: Re: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Hi Andras, Patrick, I'd just like to add that vtkTransform itself supports dynamic concatenation, it isn't necessary to use vtkGeneralTransform unless you want to concatenate nonlinear transformations. Here's an example (unfortunately it was auto-converted to Python from Tcl so it's poorly formatted): https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/Core/Testing/Python/TransformConcatenation.py - David On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso > wrote: Hi Patrick, I think these problems are already solved, since you can dynamically concatenate any number of transforms in any combinations (including inverting them) using vtkGeneralTransform. Regarding your solution proposed for ?problem? 3: Ability to temporarily bypass a transform without changing the pipeline would be a feature that I would find useful. Some warping transforms already have scale parameter for enabling/disabling (or slightly emphasizing or de-emphasizing) a transformation, which comes very handy for visualizing the effect of the transformation. This feature could be generalized and moved to vtkAbstractTransform class. Andras ---------- Forwarded message ---------- From: Patrick Bergeron > Date: Tue, Jun 5, 2018 at 10:33 AM Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). To: "vtk-developers at public.kitware.com" > Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Tue Jun 5 12:05:53 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 5 Jun 2018 10:05:53 -0600 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: <7DB6F61F-008F-41B0-B2A8-1A629EB42A5A@spiria.com> References: <7DB6F61F-008F-41B0-B2A8-1A629EB42A5A@spiria.com> Message-ID: Hi Patrick, That's not possible since vtkTransform is in "Common" while vtkProp3D is in "Rendering". It's expected that "Rendering" should depend on "Common", but not vice-versa. An adapter is better. It allows a Prop3D to be used anywhere in VTK that a transform can be used, without requiring modifications to any other VTK classes. - David On Tue, Jun 5, 2018 at 9:52 AM, Patrick Bergeron wrote: > And, here?s another thing that could be done to vtkTransform to eliminate > my actor-to-transform adapter class. It would be super easy to do, and be > backwards compatible. > > > > Currently: vtkTransform::SetInput(vtkAbstractTransform*) > > Suggestion: vtkTransform::SetInput(vtkObject*) > > > > vtkTransform::InternalUpdate() > > ? > > ? > > ? > > If (this->Input) > > { > > vtkAbstractTransform *transform = vtkAbstractTransform:: > SafeDownCast(this->Input); > > vtkProp3D *prop3D = vtkProp3D::SafeDownCast(this->Input); > > > > If (transform != nullptr) > > this->Matrix->DeepCopy(transform->GetMatrix()); > > else if (prop3D != nullptr) > > this->Matrix->DeepCopy(prop3D->GetMatrix()); > > else > > vtkWarningMacro(?InternalUpdate: Bad object type passed as > input?); > > > > ? > > ? > > } > > > > This way, actors can directly be an input into the transformation > pipeline, the same way as is a normal transform. > > > > > > > > > > > > *From: *vtk-developers on > behalf of David Gobbi > *Date: *Tuesday, June 5, 2018 at 11:13 AM > *To: *Andras Lasso > *Cc: *"vtk-developers at public.kitware.com" kitware.com> > *Subject: *Re: [vtk-developers] Improvements to the transform pipeline (3 > vtkTransform derived classes). > > > > Hi Andras, Patrick, > > > > I'd just like to add that vtkTransform itself supports dynamic > concatenation, it isn't necessary to use vtkGeneralTransform unless you > want to concatenate nonlinear transformations. > > > > Here's an example (unfortunately it was auto-converted to Python from Tcl > so it's poorly formatted): > > https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/ > Core/Testing/Python/TransformConcatenation.py > > > > - David > > > > > > > > On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso wrote: > > Hi Patrick, > > > > I think these problems are already solved, since you can dynamically > concatenate any number of transforms in any combinations (including > inverting them) using vtkGeneralTransform. > > > > Regarding your solution proposed for ?problem? 3: Ability to temporarily > bypass a transform without changing the pipeline would be a feature that I > would find useful. Some warping transforms already have scale parameter for > enabling/disabling (or slightly emphasizing or de-emphasizing) a > transformation, which comes very handy for visualizing the effect of the > transformation. This feature could be generalized and moved to > vtkAbstractTransform class. > > > > Andras > > > > ---------- Forwarded message ---------- > From: *Patrick Bergeron* > Date: Tue, Jun 5, 2018 at 10:33 AM > Subject: [vtk-developers] Improvements to the transform pipeline (3 > vtkTransform derived classes). > To: "vtk-developers at public.kitware.com" > > > Hi everyone. > > > > I've been using VTK for a bit now, and I've made a few improvements I'd > like to contribute to the community. > > > > Before I do, however, I'd like to know if there is interest in me doing > so before I go through the hassles of submission. > > > > > > GENERAL PROBLEM STATEMENT (MOTIVATION) > > --------------------------------------------------------------- > > > > I have a list of objects that I'd like to transform using a single widget. > Widgets take a single vtkProp3D as target. For (multiple) reasons beyond > the scope of this discussion, I couldn't use vtkAssembly to target my > multiple actors. Plus, I wanted each actor to transform according to their > local reference frame, not the reference frame of the vtkAssembly. > > > > > > PROBLEM (1/3) > > --------------------- > > vtkTransform can take as input another vtkTransform, to which it > concatenates its own SRT values, its output being it the concatenation of > the input transform and itself. > > > > This is useful and allows for multiple scenarios, including this common > pattern of parent-child hierarchical chain of transforms, as is shown in > this Robot-Arm example. > > https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline > > > > > In the example above, 3 transforms are chained together, and > > xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. > > > > xform1 is set as the user transform of the root actor > > xform2 is set as the user transform of the mid actor > > xform3 is set as the user transform of the leaf actor > > > > In other words, the *parent's transform* is inherited, and each actor's > *local transformation* is controlled by calling the normal functions, such > as TranslateX, RotateY, etc, and when concatenated provides the > actor's *global transform* > > > > That's all fine, as long as you want to, or can, control each of the local > transform directly. But what if you'd like to also control the *local > transform* via another transformation pipeline? The vtkTransform's input > is already taken by the parent transform, were would I plug the local > transform's input? > > > > > > SOLUTION (1/3) -- Introducing vtkDualInputTransform > > ------------------------------------------------------------------------ > > > > As its name implies, vtkDualInput transform adds a second input (Input2) > to the standard vtkTransform. > > > > Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], > > Then vtkDualInputTransform's putput is : GetMatrix() = > [INPUT][INPUT2] [MYSELF] > > (with adaptations wrt Pre-Post multiply flag). > > > > In vtkDualInputTransform, both Input1 and Input2 can be muted, so that > they are skipped, just as if there was no input connected. (It's like > closing a gate) > > > > > > ADVANTAGES > > ------------------- > > > > With the vtkDualInputTransform, you can create complex chains of > transforms that allows for direct control of different parts of the > transform multiple actors from a single source. > > > > In my case, Input1 is the parent transform, Input2 is the local transform, > and I leave the internals alone (set to Identity). > > The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] > = [INPUT][INPUT2] > > > > Using this pattern, I have 100 actors driven by different pipelines, yet I > can affect all of them at once by changing a common transformation pipeline > that is plugged into the second input. > > > > > > > > > > > > > > PROBLEM (2/3) > > --------------------- > > > > With the vtkDualInputTransform in place, which I could plug into an > Actor's UserTransform, I could now effect the global transform using 2 > transformation pipelines (its parent tranform, and its local transform). > > > > But, what if I wanted to transform my actors by setting affecting > their local transforms using another actor as the driver? > > (why? because a widget targets a prop/actor, and I want the changes to the > targetted actor's transformation to propagate down to a transformation > pipeline to affect other actors) > > > > In other words, I want: > > > > widget -> actorA's transform -> input of vtkTransform --> input > of vtkTransform --> input of vtkTansform --> input of actorB, actorC, > actorD (etc)'s UserTransform. > > > > While we can do actorA's GetMatrix() (which is the concat of its input and > own pos/ori/scale/origin/etc), there is unfortunately, there is no way to > do actor->GetTransform() (since it might get pushed/popped from the stack, > it might not always be valid, might disappear etc). So how do I drive a > transform pipeline from an actor? > > > > > > SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter > > ------------------------------------------------------------ > ------------------- > > > > This is another derivative of vtkTransform. It has a SetProp3D method, > which serves the same purpose as the vtkTransform's input. > > (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is > issued if it is) > > > > In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of > calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which > ensures is always valid. > > > > > > > > > > > > > > > > PROBLEM (3/3) > > -------------------- > > > > Finally, there's a catch: I want to affect multiple actors's global > transform but control the local transform, but there's a catch when doing > [INPUT][INPUT2]. > > > > Indeed, that concatenation is (roughly) the equivalent of: > > > > Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x > [IN2_trs]. > > > > In other words, by the time we multiply IN2, IN's translation is already > considered, so scale and rotation of the 2nd input will have their > transformation center set to IN's translation, which a problem. > > > > What I want instead is consider the concatenation of the scale, > orientation, and transformation : > > > > Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x > [IN2_trs]. > > > > > > > > SOLUTION (3/3) -- Introducing vtkMutableTransform > > --------------------------------------------------------------------- > > > > Unfortunately, I did not find a proper name for this one, as "mutable" can > imply "changeable". But I meant it to mean that you could "mute" portions > of the transform. > > > > The goal of this derived class is that you feed it a transform, and out > comes the same transform without the muted portions. For example, the > transform's output is the same as the input, with scaling, orientation, or > translation stripped out. > > > > > > > > > > > > CONCLUSION: > > -------------------- > > > > Using the proper combination of the 3 vtkTransform derivatives described > above, and chained together in the proper order, you can make a > transformation graph that is fully automated and controllable from any > point or any source in the transform pipeline. > > > > > > > > Let me know if there is interest in me submitting these 3 classes. > > > > Regards > > Patrick Bergeron > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Tue Jun 5 12:21:57 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Tue, 5 Jun 2018 16:21:57 +0000 Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). In-Reply-To: References: <7DB6F61F-008F-41B0-B2A8-1A629EB42A5A@spiria.com> Message-ID: Ok, too bad. Then the question remains, is the VTK group interested in * My vtkProp3D-to-vtkTransform adapter class. * My mutable vtkTransform class (mute part of the transform, let the rest flow through) From: David Gobbi Date: Tuesday, June 5, 2018 at 12:06 PM To: Patrick Bergeron Cc: Andras Lasso , "vtk-developers at public.kitware.com" Subject: Re: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Hi Patrick, That's not possible since vtkTransform is in "Common" while vtkProp3D is in "Rendering". It's expected that "Rendering" should depend on "Common", but not vice-versa. An adapter is better. It allows a Prop3D to be used anywhere in VTK that a transform can be used, without requiring modifications to any other VTK classes. - David On Tue, Jun 5, 2018 at 9:52 AM, Patrick Bergeron > wrote: And, here?s another thing that could be done to vtkTransform to eliminate my actor-to-transform adapter class. It would be super easy to do, and be backwards compatible. Currently: vtkTransform::SetInput(vtkAbstractTransform*) Suggestion: vtkTransform::SetInput(vtkObject*) vtkTransform::InternalUpdate() ? ? ? If (this->Input) { vtkAbstractTransform *transform = vtkAbstractTransform::SafeDownCast(this->Input); vtkProp3D *prop3D = vtkProp3D::SafeDownCast(this->Input); If (transform != nullptr) this->Matrix->DeepCopy(transform->GetMatrix()); else if (prop3D != nullptr) this->Matrix->DeepCopy(prop3D->GetMatrix()); else vtkWarningMacro(?InternalUpdate: Bad object type passed as input?); ? ? } This way, actors can directly be an input into the transformation pipeline, the same way as is a normal transform. From: vtk-developers > on behalf of David Gobbi > Date: Tuesday, June 5, 2018 at 11:13 AM To: Andras Lasso > Cc: "vtk-developers at public.kitware.com" > Subject: Re: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). Hi Andras, Patrick, I'd just like to add that vtkTransform itself supports dynamic concatenation, it isn't necessary to use vtkGeneralTransform unless you want to concatenate nonlinear transformations. Here's an example (unfortunately it was auto-converted to Python from Tcl so it's poorly formatted): https://gitlab.kitware.com/vtk/vtk/blob/master/Rendering/Core/Testing/Python/TransformConcatenation.py - David On Tue, Jun 5, 2018 at 9:06 AM, Andras Lasso > wrote: Hi Patrick, I think these problems are already solved, since you can dynamically concatenate any number of transforms in any combinations (including inverting them) using vtkGeneralTransform. Regarding your solution proposed for ?problem? 3: Ability to temporarily bypass a transform without changing the pipeline would be a feature that I would find useful. Some warping transforms already have scale parameter for enabling/disabling (or slightly emphasizing or de-emphasizing) a transformation, which comes very handy for visualizing the effect of the transformation. This feature could be generalized and moved to vtkAbstractTransform class. Andras ---------- Forwarded message ---------- From: Patrick Bergeron > Date: Tue, Jun 5, 2018 at 10:33 AM Subject: [vtk-developers] Improvements to the transform pipeline (3 vtkTransform derived classes). To: "vtk-developers at public.kitware.com" > Hi everyone. I've been using VTK for a bit now, and I've made a few improvements I'd like to contribute to the community. Before I do, however, I'd like to know if there is interest in me doing so before I go through the hassles of submission. GENERAL PROBLEM STATEMENT (MOTIVATION) --------------------------------------------------------------- I have a list of objects that I'd like to transform using a single widget. Widgets take a single vtkProp3D as target. For (multiple) reasons beyond the scope of this discussion, I couldn't use vtkAssembly to target my multiple actors. Plus, I wanted each actor to transform according to their local reference frame, not the reference frame of the vtkAssembly. PROBLEM (1/3) --------------------- vtkTransform can take as input another vtkTransform, to which it concatenates its own SRT values, its output being it the concatenation of the input transform and itself. This is useful and allows for multiple scenarios, including this common pattern of parent-child hierarchical chain of transforms, as is shown in this Robot-Arm example. https://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TransformPipeline In the example above, 3 transforms are chained together, and xform1 --to--> xform2's input , xform2's output -- to --> xform3's input. xform1 is set as the user transform of the root actor xform2 is set as the user transform of the mid actor xform3 is set as the user transform of the leaf actor In other words, the *parent's transform* is inherited, and each actor's *local transformation* is controlled by calling the normal functions, such as TranslateX, RotateY, etc, and when concatenated provides the actor's *global transform* That's all fine, as long as you want to, or can, control each of the local transform directly. But what if you'd like to also control the *local transform* via another transformation pipeline? The vtkTransform's input is already taken by the parent transform, were would I plug the local transform's input? SOLUTION (1/3) -- Introducing vtkDualInputTransform ------------------------------------------------------------------------ As its name implies, vtkDualInput transform adds a second input (Input2) to the standard vtkTransform. Whereas the vtkTransform's output was : GetMatrix() = [INPUT][MYSELF], Then vtkDualInputTransform's putput is : GetMatrix() = [INPUT][INPUT2] [MYSELF] (with adaptations wrt Pre-Post multiply flag). In vtkDualInputTransform, both Input1 and Input2 can be muted, so that they are skipped, just as if there was no input connected. (It's like closing a gate) ADVANTAGES ------------------- With the vtkDualInputTransform, you can create complex chains of transforms that allows for direct control of different parts of the transform multiple actors from a single source. In my case, Input1 is the parent transform, Input2 is the local transform, and I leave the internals alone (set to Identity). The result is thus GetMatrix() = [INPUT][INPUT2][IDENTITY] = [INPUT][INPUT2] Using this pattern, I have 100 actors driven by different pipelines, yet I can affect all of them at once by changing a common transformation pipeline that is plugged into the second input. PROBLEM (2/3) --------------------- With the vtkDualInputTransform in place, which I could plug into an Actor's UserTransform, I could now effect the global transform using 2 transformation pipelines (its parent tranform, and its local transform). But, what if I wanted to transform my actors by setting affecting their local transforms using another actor as the driver? (why? because a widget targets a prop/actor, and I want the changes to the targetted actor's transformation to propagate down to a transformation pipeline to affect other actors) In other words, I want: widget -> actorA's transform -> input of vtkTransform --> input of vtkTransform --> input of vtkTansform --> input of actorB, actorC, actorD (etc)'s UserTransform. While we can do actorA's GetMatrix() (which is the concat of its input and own pos/ori/scale/origin/etc), there is unfortunately, there is no way to do actor->GetTransform() (since it might get pushed/popped from the stack, it might not always be valid, might disappear etc). So how do I drive a transform pipeline from an actor? SOLUTION (2/3) -- Introducing vtkProp3DTransformAdapter ------------------------------------------------------------------------------- This is another derivative of vtkTransform. It has a SetProp3D method, which serves the same purpose as the vtkTransform's input. (in fact, vtkProp3DTransformAdapter's input is not used, and a warning is issued if it is) In vtkProp3DTransformAdapter, in the InternalUpdate method, instead of calling Input->GetMatrix(), we simply call prop3D->GetMatrix(), which ensures is always valid. PROBLEM (3/3) -------------------- Finally, there's a catch: I want to affect multiple actors's global transform but control the local transform, but there's a catch when doing [INPUT][INPUT2]. Indeed, that concatenation is (roughly) the equivalent of: Result = [IN_scl] x [IN_ori] x [IN_trs] x [IN2_scl] x [IN2_ori] x [IN2_trs]. In other words, by the time we multiply IN2, IN's translation is already considered, so scale and rotation of the 2nd input will have their transformation center set to IN's translation, which a problem. What I want instead is consider the concatenation of the scale, orientation, and transformation : Result = [IN_scl] x [IN2_scl] x [IN_ori] x [IN2_ori] x [IN_trs] x [IN2_trs]. SOLUTION (3/3) -- Introducing vtkMutableTransform --------------------------------------------------------------------- Unfortunately, I did not find a proper name for this one, as "mutable" can imply "changeable". But I meant it to mean that you could "mute" portions of the transform. The goal of this derived class is that you feed it a transform, and out comes the same transform without the muted portions. For example, the transform's output is the same as the input, with scaling, orientation, or translation stripped out. CONCLUSION: -------------------- Using the proper combination of the 3 vtkTransform derivatives described above, and chained together in the proper order, you can make a transformation graph that is fully automated and controllable from any point or any source in the transform pipeline. Let me know if there is interest in me submitting these 3 classes. Regards Patrick Bergeron -------------- next part -------------- An HTML attachment was scrubbed... URL: From drouin.simon at gmail.com Tue Jun 5 17:04:39 2018 From: drouin.simon at gmail.com (Simon Drouin) Date: Tue, 5 Jun 2018 17:04:39 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 Message-ID: OpenGL (and OpenCL) will be deprecated in the next version of macOS (10.14). What is the plan for VTK under MacOS? Metal implementation of rendering backend or drop support for macOS? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.martin at kitware.com Tue Jun 5 17:10:12 2018 From: ken.martin at kitware.com (Ken Martin) Date: Tue, 5 Jun 2018 17:10:12 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: My read of it is that OpenGL apps will still run per the note below. I guess the question is for how long and what do we move to. My guess is vulkan + motlen maybe. I cannot imagine us droping support for OSX. Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14. On Tue, Jun 5, 2018 at 5:04 PM, Simon Drouin wrote: > OpenGL (and OpenCL) will be deprecated in the next version of macOS > (10.14). What is the plan for VTK under MacOS? Metal implementation of > rendering backend or drop support for macOS? > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthew.brett at gmail.com Tue Jun 5 17:10:17 2018 From: matthew.brett at gmail.com (Matthew Brett) Date: Tue, 5 Jun 2018 22:10:17 +0100 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: Hi, On Tue, Jun 5, 2018 at 10:04 PM, Simon Drouin wrote: > OpenGL (and OpenCL) will be deprecated in the next version of macOS (10.14). > What is the plan for VTK under MacOS? Metal implementation of rendering > backend or drop support for macOS? There's some discussion on that here: https://github.com/panda3d/panda3d/issues/339 . The opinion expressed there is that it will be a very long time before Apple removes OpenGL, even if deprecated. Cheers, Matthew From david.thompson at kitware.com Tue Jun 5 17:12:44 2018 From: david.thompson at kitware.com (David Thompson) Date: Tue, 5 Jun 2018 17:12:44 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: Hi Simon, > OpenGL (and OpenCL) will be deprecated in the next version of macOS (10.14). What is the plan for VTK under MacOS? Metal implementation of rendering backend or drop support for macOS? OpenGL will still be available in macOS 10.14, so we will still support it via OpenGL at a minimum. Releases after 10.14 are another issue. Early VTK supported multiple backends, and recent experience with modern OpenGL, WebGL, OSPRay and OptiX ports has given us confidence that we can maintain macOS support. We are already talking about prototypes. We expect the maintenance cost to grow, however. Even with one backend, it takes effort to ensure compliance across multiple operating systems and drivers. Apple dropping OpenGL increases that burden. David From david.gobbi at gmail.com Tue Jun 5 17:17:47 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Tue, 5 Jun 2018 15:17:47 -0600 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: Apple deprecated Carbon in 2012 but didn't drop it until 2017. I'm sure we'll see a few more MacOS releases with OpenGL. -------------- next part -------------- An HTML attachment was scrubbed... URL: From drouin.simon at gmail.com Tue Jun 5 18:29:01 2018 From: drouin.simon at gmail.com (Simon Drouin) Date: Tue, 5 Jun 2018 18:29:01 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: Vulkan seems like a good solution to minimize the number of backends to support, with MoltenVK as a Vulkan-compliant Metal wrapper on macOS. Is the open source license of MoltenVK flexible enough for most applications using VTK? (paraview, slicer and the different packaged versions of Slicer) On Tue, Jun 5, 2018 at 5:18 PM David Gobbi wrote: > Apple deprecated Carbon in 2012 but didn't drop it until 2017. I'm sure > we'll see a few more MacOS releases with OpenGL. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Tue Jun 5 19:15:14 2018 From: sean at rogue-research.com (Sean McBride) Date: Tue, 5 Jun 2018 19:15:14 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: References: Message-ID: <20180605231514.639830101@mail.rogue-research.com> Hi all, In addition to what others have said... - OpenGL ES is also deprecated on iOS - indeed deprecation doesn't mean it will be removed soon. It does mean however, that's it's likely to work worse and worse over the years, and see few to no bug fixes. - Yes, Carbon was deprecated years ago, and yet it's still there. But it's only available to 32 bit processes, it never made the jump to 64 bit. Something analogous could occur with OpenGL. - if you use Apple's 'app stores', then note that a policy of theirs is to sometimes/always (dunno) reject apps that use deprecated APIs. Even on other platforms, OpenGL has a hazy future. Vulkan may be a good direction for VTK. And MoltenVK could be the solution for Apple platforms. Happily it was open sourced recently! Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From messari.omar at gmail.com Wed Jun 6 04:46:28 2018 From: messari.omar at gmail.com (messari.omar) Date: Wed, 6 Jun 2018 01:46:28 -0700 (MST) Subject: [vtk-developers] Drawing a VTK point in real-time Message-ID: <1528274788334-0.post@n5.nabble.com> I'd like to draw a point using the VTK library in real-time. I have a little problem while doing this, though. My program is drawing the point but I can't see it until I click on my windows control, have anyone any idea how to fix this problem -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From michael.migliore at kitware.com Wed Jun 6 04:51:22 2018 From: michael.migliore at kitware.com (Michael Migliore) Date: Wed, 6 Jun 2018 10:51:22 +0200 Subject: [vtk-developers] Drawing a VTK point in real-time In-Reply-To: <1528274788334-0.post@n5.nabble.com> References: <1528274788334-0.post@n5.nabble.com> Message-ID: Hi, Please, have a look at the following example: https://www.vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/Point Try to manually call Render on your vtkRenderWindow. Regards, Michael On Wed, Jun 6, 2018 at 10:46 AM, messari.omar wrote: > I'd like to draw a point using the VTK library in real-time. I have a > little > problem while doing this, though. My program is drawing the point but I > can't see it until I click on my windows control, have anyone any idea how > to fix this problem > > > > > > > -- > Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From messari.omar at gmail.com Wed Jun 6 05:04:03 2018 From: messari.omar at gmail.com (messari.omar) Date: Wed, 6 Jun 2018 02:04:03 -0700 (MST) Subject: [vtk-developers] Drawing a VTK point in real-time In-Reply-To: References: <1528274788334-0.post@n5.nabble.com> Message-ID: <1528275843235-0.post@n5.nabble.com> thank you so much it's working i didn't notice that i forgot to call the render on the vtkRenderwindow. Thanks again. Best Regards -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From wil_serv at hotmail.com Wed Jun 6 07:29:55 2018 From: wil_serv at hotmail.com (wil1) Date: Wed, 6 Jun 2018 04:29:55 -0700 (MST) Subject: [vtk-developers] -* Plugin compilation for paraview *- (help) In-Reply-To: <1528119057754-0.post@n5.nabble.com> References: <1527519968804-0.post@n5.nabble.com> <1527765444014-0.post@n5.nabble.com> <1528119057754-0.post@n5.nabble.com> Message-ID: <1528284595856-0.post@n5.nabble.com> Hi, shout out to Mathieu Westphal for the help the solution to generate the .Dll of a plugin was : - Install Ninja https://ninja-build.org/ - add ninja.exe path to environment Path - Cleanup your plugin build directory - Open a VS2015 x64 Native Tools Command Prompt - in the terminal : cd /path/to/your/build/dir cmake-gui - in cmake-gui, configure you project but instead of "Visual Studio 14 2015", select "Ninja" - configure, find the ParaViewDir, generate - close cmake-gui - in the terminal : ninja But know I have an other error, when putting ninja in the terminal i got : "vtkexodusII-pv5.5.lib required for the plugin and missing " Why do the plugin needs vtkexodus ?? -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From wil_serv at hotmail.com Wed Jun 6 09:09:25 2018 From: wil_serv at hotmail.com (wil1) Date: Wed, 6 Jun 2018 06:09:25 -0700 (MST) Subject: [vtk-developers] -* Plugin compilation for paraview *- (help) In-Reply-To: <1528284595856-0.post@n5.nabble.com> References: <1527519968804-0.post@n5.nabble.com> <1527765444014-0.post@n5.nabble.com> <1528119057754-0.post@n5.nabble.com> <1528284595856-0.post@n5.nabble.com> Message-ID: <1528290565426-0.post@n5.nabble.com> wich mailing list mr. westphal ? I only see vtk devs and vtk users. Full Error : " ninja: error: 'pathToParaviewBuild/lib/vtkexodusII-pv5.5.lib', needed by 'thePlugin.dll', missing and no known rule to make it " only vtkioexodus-pv5.5.lib is generated in paraview lib -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From ken.martin at kitware.com Wed Jun 6 11:47:10 2018 From: ken.martin at kitware.com (Ken Martin) Date: Wed, 6 Jun 2018 11:47:10 -0400 Subject: [vtk-developers] cppcheck and ike/Doxygen errors Message-ID: The cppcheck warnings I think are due to a bug in cppcheck that is fixed in version 1.70. ike is producing warnings when generating the Doxygen documentation, I was planning to add a suppression for the "no documentation block in" stuff but there are a lot of other errors/warnings in there, so it may eventually end up leading to a suppress everything approach. -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at rogue-research.com Wed Jun 6 15:04:57 2018 From: sean at rogue-research.com (Sean McBride) Date: Wed, 6 Jun 2018 15:04:57 -0400 Subject: [vtk-developers] cppcheck and ike/Doxygen errors In-Reply-To: References: Message-ID: <20180606190457.1752897737@mail.rogue-research.com> On Wed, 6 Jun 2018 11:47:10 -0400, Ken Martin said: >The cppcheck warnings I think are due to a bug in cppcheck that is fixed in >version 1.70. You mean: GUISupport/Qt/QVTKOpenGLWidget.cxx:32: warning: Member variable 'QVTKOpenGLWidget::qVTKOpenGLWindowInternal' is not initialized in the constructor. My bots use cppcheck 1.83 (newest). Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From ken.martin at kitware.com Wed Jun 6 15:09:33 2018 From: ken.martin at kitware.com (Ken Martin) Date: Wed, 6 Jun 2018 15:09:33 -0400 Subject: [vtk-developers] cppcheck and ike/Doxygen errors In-Reply-To: <20180606190457.1752897737@mail.rogue-research.com> References: <20180606190457.1752897737@mail.rogue-research.com> Message-ID: Yes, that is what I mean. Hmm. Based on https://trac.cppcheck.net/ticket/6675 I figured this was the same issue as I think the value gets initialized properly eventually. In their case the eventual initialization is done as a : foo(0) versus our code that does { this->foo = 0; } so maybe it is still broken for our case... or maybe I'm missing something. On Wed, Jun 6, 2018 at 3:04 PM, Sean McBride wrote: > On Wed, 6 Jun 2018 11:47:10 -0400, Ken Martin said: > > >The cppcheck warnings I think are due to a bug in cppcheck that is fixed > in > >version 1.70. > > You mean: > > GUISupport/Qt/QVTKOpenGLWidget.cxx:32: warning: Member variable > 'QVTKOpenGLWidget::qVTKOpenGLWindowInternal' is not initialized in the > constructor. > > My bots use cppcheck 1.83 (newest). > > Cheers, > > -- > ____________________________________________________________ > Sean McBride, B. Eng sean at rogue-research.com > Rogue Research www.rogue-research.com > Mac Software Developer Montr?al, Qu?bec, Canada > > > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.martin at kitware.com Fri Jun 8 08:44:06 2018 From: ken.martin at kitware.com (Ken Martin) Date: Fri, 8 Jun 2018 08:44:06 -0400 Subject: [vtk-developers] openturns buildbot warnings Message-ID: Ring a bell with anyone? Showed up on luigi ala https://open.cdash.org/viewBuildError.php?type=1&buildid=5409899 /usr/local/include/openturns/openturns/Collection.hxx:382:49: warning: unused parameter 'offset' [-Wunused-parameter] inline String __str__(const String & offset = "") const etc -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Fri Jun 8 08:48:05 2018 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Fri, 8 Jun 2018 14:48:05 +0200 Subject: [vtk-developers] openturns buildbot warnings In-Reply-To: References: Message-ID: Hi Ken, That is mine, we are experiencing errors with luigi on ParaView right now. I will fix these warnings once we fix the errors. Thanks for asking. Mathieu Westphal On Fri, Jun 8, 2018 at 2:44 PM, Ken Martin wrote: > > Ring a bell with anyone? Showed up on luigi ala > > https://open.cdash.org/viewBuildError.php?type=1&buildid=5409899 > > /usr/local/include/openturns/openturns/Collection.hxx:382:49: warning: unused parameter 'offset' [-Wunused-parameter] > inline String __str__(const String & offset = "") const > > etc > > -- > Ken Martin PhD > Distinguished Engineer > Kitware Inc. > 101 East Weaver Street > Carrboro, North Carolina > 27510 USA > > This communication, including all attachments, contains confidential and > legally privileged information, and it is intended only for the use of the > addressee. Access to this email by anyone else is unauthorized. If you are > not the intended recipient, any disclosure, copying, distribution or any > action taken in reliance on it is prohibited and may be unlawful. If you > received this communication in error please notify us immediately and > destroy the original message. Thank you. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.martin at kitware.com Fri Jun 8 08:50:04 2018 From: ken.martin at kitware.com (Ken Martin) Date: Fri, 8 Jun 2018 08:50:04 -0400 Subject: [vtk-developers] openturns buildbot warnings In-Reply-To: References: Message-ID: Awesome, thanks! On Fri, Jun 8, 2018 at 8:48 AM, Mathieu Westphal < mathieu.westphal at kitware.com> wrote: > Hi Ken, > > That is mine, we are experiencing errors with luigi on ParaView right now. > I will fix these warnings once we fix the errors. > > Thanks for asking. > > Mathieu Westphal > > On Fri, Jun 8, 2018 at 2:44 PM, Ken Martin wrote: > >> >> Ring a bell with anyone? Showed up on luigi ala >> >> https://open.cdash.org/viewBuildError.php?type=1&buildid=5409899 >> >> /usr/local/include/openturns/openturns/Collection.hxx:382:49: warning: unused parameter 'offset' [-Wunused-parameter] >> inline String __str__(const String & offset = "") const >> >> etc >> >> -- >> Ken Martin PhD >> Distinguished Engineer >> Kitware Inc. >> 101 East Weaver Street >> >> Carrboro, North Carolina >> >> 27510 USA >> >> This communication, including all attachments, contains confidential and >> legally privileged information, and it is intended only for the use of the >> addressee. Access to this email by anyone else is unauthorized. If you are >> not the intended recipient, any disclosure, copying, distribution or any >> action taken in reliance on it is prohibited and may be unlawful. If you >> received this communication in error please notify us immediately and >> destroy the original message. Thank you. >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> >> > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcus.hanwell at kitware.com Fri Jun 8 10:39:37 2018 From: marcus.hanwell at kitware.com (Marcus D. Hanwell) Date: Fri, 8 Jun 2018 10:39:37 -0400 Subject: [vtk-developers] VTK image error 0 despite differences - false pass In-Reply-To: References: Message-ID: On Fri, May 4, 2018 at 2:08 PM, Marcus D. Hanwell < marcus.hanwell at kitware.com> wrote: > On Fri, May 4, 2018 at 1:59 PM, Marcus D. Hanwell < > marcus.hanwell at kitware.com> wrote: > >> On Fri, May 4, 2018 at 1:24 PM, Marcus D. Hanwell < >> marcus.hanwell at kitware.com> wrote: >> >>> On Fri, May 4, 2018 at 9:34 AM, Marcus D. Hanwell < >>> marcus.hanwell at kitware.com> wrote: >>> >>>> A while ago I opened issue https://gitlab.kitware.com/vtk >>>> /vtk/issues/17201 that talked about a bug on Windows where setting the >>>> precision to 0 resulted in 6 precision on Windows. There was a test, but it >>>> was passing even on Windows, this week we had a new employee start and I >>>> thought it would be a good first bug to create a failing test, and then >>>> make it pass by addressing the issue. >>>> >>>> I thought that TestAxes was a little crowded, and that had perhaps been >>>> enough to throw the image diff off. So he wrote a test that just had this >>>> axis in, made a baseline for what was expected, and then changed it so that >>>> we could see the test fail. Changing to 6 or 8 is still showing passing >>>> test: >>>> >>>> >>>> >>>> This looks like a good difference to me (not sure if we are allowed >>>> attachments, but I tried). The ImageError is being shown as 0. We could >>>> make the text bigger, but there are a few chart tests where we use text of >>>> this size and I thought they would fail with extra numbers like this. >>>> >>> >>> Digging into this for anyone following, I can change vtkTesting.cxx to >>> use 'rtId->SetAllowShift(0);' which removes the single pixel shift logic, >>> and I get a diff showing my extra digits, as I would expect. We likely have >>> this on for a reason, and the text is pretty tiny, so I could see a nearest >>> neighbor search turning up no difference for every character added. >>> >> >> Lots of tests fail when this is turned off, we can actually make the text >> larger and see the expected failure in the axis test. We could redo the >> TestAxes to use a larger font, or perhaps add an option to disable the >> pixel shift on a per test basis (I didn't see anything exposing that in the >> test driver. >> > > For anyone interested, a merge request with dashboard results looking at > the impact of not allowing shifts in image diffs globally, > > https://gitlab.kitware.com/vtk/vtk/merge_requests/4261 > For anyone following along, I wrote up a blog post summarizing the issue, linking to this thread, and the resolution, https://blog.kitware.com/image-comparison-tests-vtk/ It turned up a number of issues that had been lurking with passing tests that should have been failing. You may want to be aware if you reuse this mechanism too. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestAxes2.png Type: image/png Size: 1770 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestAxes22.png Type: image/png Size: 1876 bytes Desc: not available URL: From david.gobbi at gmail.com Fri Jun 8 11:01:29 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 8 Jun 2018 09:01:29 -0600 Subject: [vtk-developers] Error with find_package(VTK) for vtk master Message-ID: Hi All, I'm getting an error when using vtk master from an external project. My test CMakeLists.txt is the following: project(TESTPROJ) cmake_minimum_required(VERSION 2.8.11) find_package(VTK REQUIRED) The call to find_package() reports the following error: The following imported targets are referenced, but are missing: vtkm_cont Is vtkm_cont meant to be a private library or is it an interface library? - David -------------- next part -------------- An HTML attachment was scrubbed... URL: From will.schroeder at kitware.com Fri Jun 8 11:06:30 2018 From: will.schroeder at kitware.com (Will Schroeder) Date: Fri, 8 Jun 2018 11:06:30 -0400 Subject: [vtk-developers] Letters of Support for VTK proposal Message-ID: *Dear VTK Community-Kitware is submitting a VTK development grant proposal to the NIH in early July, and we?d like you to send us a letter of support for that proposal. This four year proposal aims to make significant improvements to VTK including rendering enhancements (VR and AR), better support for the web (such as VTK.js), improved data integration (supporting deep learning systems and federated, distributed databases, for example), and updated mechanisms for community support (improving the software and contribution process, documentation).We are very excited about the proposal since it will make a very positive impact on VTK, its community, and the many applications that use VTK. Several years ago we received a similar award and were able to revamp our rendering support (OpenGL), improve our software processes, and lay the foundation for VTK.js (among other achievements). Now, we can really use your help with our follow-on proposal. Part of the strategy of our proposal is to demonstrate to the reviewers that VTK plays a critical part in medical innovation. Along this line, we want to hear from the developers and users of VTK, so that they can indicate their support for VTK and our proposal.If you?d like to help, we have included three example letters. Please modify one of them to fit your circumstances, copy it to your letterhead, sign it, and then send it (a scanned pdf is fine) directly to me by June 30. These letters in no way obligate you or your employer, they simply state ?VTK is great and important to my work.? Also, don?t worry if you are not doing biomedical research, we want to hear from everybody. Note that this information (i.e., the names of endorsers) is considered private, only the writers of the VTK proposal and the NIH review team will see this information.If you have any questions or concerns, please feel free to contact me directly. Thanks and we hope to hear from you (by June 30). Feel free to forward this to friends and family.Sincerely,Will SchroederStephen AylwardKen MartinExample support letters follow:Example 1=========Dr. Ken MartinKitware, Inc.28 Corporate DriveClifton Park, NY 12065, USADear Dr. Martin,I am writing to indicate my support for your NIH proposal for the continued development of VTK. The VTK standards and software are absolutely critical to my lab, the ___ Lab at ___ University, and to my collaborators around the world. Even as we speak, I am working on a project involving complex visualizations using 3D Slicer, Osirix, ParaView, and ITKSnap (which are largely built on VTK). Several of my students also use VTK software libraries to write customized user interfaces and visualizations for my scientific and clinical collaborators. Our most recent application was for a physiologist who wanted to explore very specialized data related to the movement of the tongue in speech after glossectomy surgery.There are many worthy software projects under development around the world, but very few who can claim to be foundational. VTK can claim this, and I'm certain it can claim to be at the core of hundreds of software products that will be used by many biomedical researchers and thousands more that will be developed and used in-house. The complexity of visualization tasks has continued to grow with the volume of data and its connections across scales and from anatomy to function and from individuals to populations. VTK is keeping up with the demand?leading the rest, in fact?and should be a high priority for continued funding.Example 2=========Dr. William J. SchroederKitware, Inc.28 Corporate DriveClifton Park, NY 12065, USADear Dr. Schroeder,I enthusiastically endorse your proposed effort to support and improve VTK. We use this open source software in our work and have found it extremely helpful as we create new technological solutions. We have developed a software application that is currently being used by around the world for scientific data visualization to gain new insights. Your Visualization Toolkit has provided the software tools needed to develop that application that has satisfied the needs of a very diverse customer base. We definitely would be interested in your proposed VR/AR enhancements and improved integration with web services. VTK fills a vital role in the international community?s scientific computing infrastructure; additional developments along the lines that you propose will certainly accelerate innovation.Example 3=========Dr. Stephen R. AylwardKitware, Inc.101 East Weaver St, Ste G4Carrboro, NC 27510, USADear Dr. Aylward,I am writing in ardent support of your NIH proposal to continue the development, enhancement, and dissemination of the Visualization Toolkit (VTK). Not only do I use it in several projects myself, but I have found that it fosters the dissemination and extension of research by allowing the community to efficiently reproduce research, to easily combine contributions in unexpected ways, and to transfer research into production. Developing and maintaining a project as large and complex as VTK while fostering such an active community is a breathtaking achievement, and I hope Kitware obtains the funding it needs to keep this work up. * -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From david.gobbi at gmail.com Fri Jun 8 13:21:41 2018 From: david.gobbi at gmail.com (David Gobbi) Date: Fri, 8 Jun 2018 11:21:41 -0600 Subject: [vtk-developers] Error with find_package(VTK) for vtk master In-Reply-To: References: Message-ID: Upon further investigation, this problem with vtkm_cont goes back to commit a2b0b7f3 on May 4: Update to latest VTK-m master On Fri, Jun 8, 2018 at 9:01 AM, David Gobbi wrote: > Hi All, > > I'm getting an error when using vtk master from an external project. > My test CMakeLists.txt is the following: > > project(TESTPROJ) > cmake_minimum_required(VERSION 2.8.11) > find_package(VTK REQUIRED) > > The call to find_package() reports the following error: > > The following imported targets are referenced, but are missing: > vtkm_cont > > Is vtkm_cont meant to be a private library or is it an interface library? > > - David > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.maynard at kitware.com Mon Jun 11 08:19:48 2018 From: robert.maynard at kitware.com (Robert Maynard) Date: Mon, 11 Jun 2018 08:19:48 -0400 Subject: [vtk-developers] Error with find_package(VTK) for vtk master In-Reply-To: References: Message-ID: Thanks for finding what caused this, and I will look into it. vtkm_cont is a real public library and is part of the vtk-m thirdparty export group. On Fri, Jun 8, 2018 at 1:22 PM David Gobbi wrote: > > Upon further investigation, this problem with vtkm_cont goes back to > commit a2b0b7f3 on May 4: Update to latest VTK-m master > > > On Fri, Jun 8, 2018 at 9:01 AM, David Gobbi wrote: >> >> Hi All, >> >> I'm getting an error when using vtk master from an external project. >> My test CMakeLists.txt is the following: >> >> project(TESTPROJ) >> cmake_minimum_required(VERSION 2.8.11) >> find_package(VTK REQUIRED) >> >> The call to find_package() reports the following error: >> >> The following imported targets are referenced, but are missing: vtkm_cont >> >> Is vtkm_cont meant to be a private library or is it an interface library? >> >> - David > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > From sean at rogue-research.com Mon Jun 11 17:21:08 2018 From: sean at rogue-research.com (Sean McBride) Date: Mon, 11 Jun 2018 17:21:08 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: <20180605231514.639830101@mail.rogue-research.com> References: <20180605231514.639830101@mail.rogue-research.com> Message-ID: <20180611212108.1080467667@mail.rogue-research.com> Hi all, I updated my Rogue12 bot from macOS 10.9 to 10.14 beta. It's not too bad: Do any of those look like (OpenGL) bugs I should file with Apple? Cheers, -- ____________________________________________________________ Sean McBride, B. Eng sean at rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montr?al, Qu?bec, Canada From ken.martin at kitware.com Tue Jun 12 09:24:00 2018 From: ken.martin at kitware.com (Ken Martin) Date: Tue, 12 Jun 2018 09:24:00 -0400 Subject: [vtk-developers] Apple deprecates OpenGL in macOS 10.14 In-Reply-To: <20180611212108.1080467667@mail.rogue-research.com> References: <20180605231514.639830101@mail.rogue-research.com> <20180611212108.1080467667@mail.rogue-research.com> Message-ID: everything but the timeout looks suspicious to me. On Mon, Jun 11, 2018 at 5:21 PM, Sean McBride wrote: > Hi all, > > I updated my Rogue12 bot from macOS 10.9 to 10.14 beta. > > It's not too bad: > > > > > Do any of those look like (OpenGL) bugs I should file with Apple? > > Cheers, > > -- > ____________________________________________________________ > Sean McBride, B. Eng sean at rogue-research.com > Rogue Research www.rogue-research.com > Mac Software Developer Montr?al, Qu?bec, Canada > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From sankhesh.jhaveri at kitware.com Tue Jun 12 11:40:24 2018 From: sankhesh.jhaveri at kitware.com (Sankhesh Jhaveri) Date: Tue, 12 Jun 2018 11:40:24 -0400 Subject: [vtk-developers] Deprecate vtkGeo* classes In-Reply-To: References: Message-ID: Update: Here is the merge request that deprecates the classes: https://gitlab.kitware.com/vtk/vtk/merge_requests/4395 ? On Wed, May 23, 2018 at 4:14 PM Sankhesh Jhaveri < sankhesh.jhaveri at kitware.com> wrote: > Folks, > > There have been some discussions about deprecating a bunch of classes from > the vtkGeovisCore and vtkViewsGeovis module owing to the lack of users > and maintainers. The tentative list of classes to be deprecated is as > follows: > > - vtkGeoAdaptiveArcs > - vtkGeoAlignedImageRepresentation > - vtkGeoAlignedImageSource > - vtkGeoAssignCoordinates > - vtkGeoFileImageSource > - vtkGeoFileTerrainSource > - vtkGeoGlobeSource > - vtkGeoGraticule > - vtkGeoImageNode > - vtkGeoRandomGraphSource > - vtkGeoSampleArcs > - vtkGeoSource > - vtkGeoTerrain > - vtkGeoTerrain2D > - vtkGeoTerrainNode > - vtkGeoTreeNode > - vtkGeoTreeNodeCache > - vtkGeoView > - vtkGeoView2D > > The primary reason for deprecation is lack of known users and maintainers. > Please reply to this email if you use these classes and intend to maintain > them or if you think they shouldn?t be deprecated. > > Thank you! > Sankhesh > ? > -- > Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware > | (518) 881-4417 > ? > -- Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware | (518) 881-4417 ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbergeron at spiria.com Wed Jun 13 21:45:47 2018 From: pbergeron at spiria.com (Patrick Bergeron) Date: Thu, 14 Jun 2018 01:45:47 +0000 Subject: [vtk-developers] New method fot vtkBoundingBox Message-ID: It's funny how sometimes you think a method exists, but doesn't (or I'm not looking at the right spot?) I'm not currently registered for pushing submits to the git repo, would someone be kind enough to PR this for me for inclusion? I currently have this code as a helper function, but it would be nice if it would be in vtk... (I use this as a means to project all points of a bbox against a plane, so I need to iterate over all corners of the box) inline void vtkBoundingBox::GetCorner(int corner, double p[3]) const { if ((corner < 0) || (corner > 7)) { p[0] = VTK_DOUBLE_MAX; p[1] = VTK_DOUBLE_MAX; p[2] = VTK_DOUBLE_MAX; return; // out of bounds } int ix = (corner & 1) ? 1 : 0; // 0,1,0,1,0,1,0,1 int iy = ((corner >> 1) & 1) ? 1 : 0; // 0,0,1,1,0,0,1,1 int iz = (corner >> 2) ? 1 : 0; // 0,0,0,0,1,1,1,1 const double* pts[2] = { this->MinPnt, this->MaxPnt }; p[0] = pts[ix][0]; p[1] = pts[iy][1]; p[2] = pts[iz][2]; } Thank you ! -------------- next part -------------- An HTML attachment was scrubbed... URL: From messari.omar at gmail.com Thu Jun 14 03:55:34 2018 From: messari.omar at gmail.com (messari.omar) Date: Thu, 14 Jun 2018 00:55:34 -0700 (MST) Subject: [vtk-developers] VTK POINT PROBLEM WITH BIG VALUES Message-ID: <1528962934762-0.post@n5.nabble.com> HELLO, I'm trying to display my points (data comming from a magneto sensor) the datas are between -600 and 600 i can't show them and i have a message error that tells me that the format i'm trying to enter are incorrect. but when i normalise my values ( -1 References: Message-ID: I'll add it in. I've got a large MR pending #4281 with some additions to vtkBoundingBox. On Wed, Jun 13, 2018 at 9:45 PM Patrick Bergeron wrote: > It's funny how sometimes you think a method exists, but doesn't (or I'm > not looking at the right spot?) > > > I'm not currently registered for pushing submits to the git repo, would > someone be kind enough to PR this for me for inclusion? > > > I currently have this code as a helper function, but it would be nice if > it would be in vtk... > > (I use this as a means to project all points of a bbox against a plane, so > I need to iterate over all corners of the box) > > > > inline void vtkBoundingBox::GetCorner(int corner, double p[3]) const > { > if ((corner < 0) || (corner > 7)) > { > p[0] = VTK_DOUBLE_MAX; > p[1] = VTK_DOUBLE_MAX; > p[2] = VTK_DOUBLE_MAX; > return; // out of bounds > } > > int ix = (corner & 1) ? 1 : 0; // 0,1,0,1,0,1,0,1 > int iy = ((corner >> 1) & 1) ? 1 : 0; // 0,0,1,1,0,0,1,1 > int iz = (corner >> 2) ? 1 : 0; // 0,0,0,0,1,1,1,1 > > const double* pts[2] = { this->MinPnt, this->MaxPnt }; > p[0] = pts[ix][0]; > p[1] = pts[iy][1]; > p[2] = pts[iz][2]; > } > > > Thank you ! > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From will.schroeder at kitware.com Thu Jun 14 06:10:47 2018 From: will.schroeder at kitware.com (Will Schroeder) Date: Thu, 14 Jun 2018 06:10:47 -0400 Subject: [vtk-developers] New method fot vtkBoundingBox In-Reply-To: References: Message-ID: Patrick do you have a test available, I'd like to cover the code.... On Thu, Jun 14, 2018 at 5:25 AM Will Schroeder wrote: > I'll add it in. I've got a large MR pending #4281 with some additions to > vtkBoundingBox. > > On Wed, Jun 13, 2018 at 9:45 PM Patrick Bergeron > wrote: > >> It's funny how sometimes you think a method exists, but doesn't (or I'm >> not looking at the right spot?) >> >> >> I'm not currently registered for pushing submits to the git repo, would >> someone be kind enough to PR this for me for inclusion? >> >> >> I currently have this code as a helper function, but it would be nice if >> it would be in vtk... >> >> (I use this as a means to project all points of a bbox against a plane, >> so I need to iterate over all corners of the box) >> >> >> >> inline void vtkBoundingBox::GetCorner(int corner, double p[3]) const >> { >> if ((corner < 0) || (corner > 7)) >> { >> p[0] = VTK_DOUBLE_MAX; >> p[1] = VTK_DOUBLE_MAX; >> p[2] = VTK_DOUBLE_MAX; >> return; // out of bounds >> } >> >> int ix = (corner & 1) ? 1 : 0; // 0,1,0,1,0,1,0,1 >> int iy = ((corner >> 1) & 1) ? 1 : 0; // 0,0,1,1,0,0,1,1 >> int iz = (corner >> 2) ? 1 : 0; // 0,0,0,0,1,1,1,1 >> >> const double* pts[2] = { this->MinPnt, this->MaxPnt }; >> p[0] = pts[ix][0]; >> p[1] = pts[iy][1]; >> p[2] = pts[iz][2]; >> } >> >> >> Thank you ! >> >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> > > -- > William J. Schroeder, PhD > Kitware, Inc. - Building the World's Technical Computing Software > 28 Corporate Drive > Clifton Park, NY 12065 > will.schroeder at kitware.com > http://www.kitware.com > (518) 881-4902 > -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From shawn.waldon at kitware.com Thu Jun 14 09:44:41 2018 From: shawn.waldon at kitware.com (Shawn Waldon) Date: Thu, 14 Jun 2018 09:44:41 -0400 Subject: [vtk-developers] VTK POINT PROBLEM WITH BIG VALUES In-Reply-To: <1528962934762-0.post@n5.nabble.com> References: <1528962934762-0.post@n5.nabble.com> Message-ID: Hi, Can you give the list a bit more information about your data format? Are you streaming data from the sensor or reading it from a file? What vtk reader are you using? What is the exact error message (it probably has a line number and file)? Would it be possible to share the data (or fake data that has the same issue) so someone can try to reproduce the issue? On Thu, Jun 14, 2018 at 3:55 AM, messari.omar wrote: > HELLO, > I'm trying to display my points (data comming from a magneto sensor) the > datas are between -600 and 600 i can't show them and i have a message error > that tells me that the format i'm trying to enter are incorrect. > but when i normalise my values ( -1 windowscontrol so i don't know what is the problem and how i can fix this, > to show the values between -600 and 600. > > Thanks all. > > > > -- > Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From messari.omar at gmail.com Thu Jun 14 10:03:30 2018 From: messari.omar at gmail.com (messari.omar) Date: Thu, 14 Jun 2018 07:03:30 -0700 (MST) Subject: [vtk-developers] VTK POINT PROBLEM WITH BIG VALUES In-Reply-To: References: <1528962934762-0.post@n5.nabble.com> Message-ID: <1528985010183-0.post@n5.nabble.com> Hi, thank you for your respond . The format of my data are double , i'm streaming data from the sensor. the error message is in the french language and it says that the format of the input is incorrect, even if it's the same format i used to draw my normlised data that are between 1 and -1. you'll find bellow a file that contain some data of the sensor tosend.txt -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From will.schroeder at kitware.com Fri Jun 15 05:32:10 2018 From: will.schroeder at kitware.com (Will Schroeder) Date: Fri, 15 Jun 2018 05:32:10 -0400 Subject: [vtk-developers] Voronoi2D Message-ID: FYI I pushed in some code today that may be of interest to folks on this list: - vtkVoronoi2D - parallel Voronoi tessellation in 2D - vtkStaticCleanPolyData - faster, threaded clean poly data (we've seen anywhere from 50-150x on a 4 core laptop) - vtkStaticPointLocator2D - 2D version of the fast, parallel vtkStaticPointLocator - vtkSpheres - an implicit function represents union of spheres (great for visualizing the Voronoi Flower error metric and related stuff like Delaunay spheres) - Some fun tests e.g. TestVoronoi2D2.py, which includes functions stretching numerical stability (lissajous, quarterDisk, Kuzmin) provided by David and Joachim Pouderoux). While the code that has been pushed is very useful in its current state there is more work to be done. Specifically the Voronoi algorithm is a novel parallel algorithm that seems to be surprisingly robust and very fast. (I've been working with Dave Thompson and he is working on a 3D version in vtk-m; we are preparing some publications.) We also want to extend the Voronoi class to produce Delaunay triangulations, maybe support constrained boundaries etc. Also because these are parallel algorithms there are some quirks to be worked out (for example the order of execution, which in some parallel systems is not always predictable, can affect results). The point is if you have a request or see something amiss please let me know. Best, W -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.lipsa at kitware.com Fri Jun 15 10:58:51 2018 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Fri, 15 Jun 2018 10:58:51 -0400 Subject: [vtk-developers] Add pugixml to VTK Message-ID: Hi all, I am working on a CityGML reader for VTK. For this I need a fast XML parser. pugixml is already used by ParaView and seems to be much faster than available choices already present in VTK: libxml2 and expat. pugixml has also a very clean API. https://pugixml.org/benchmark.html Are there any comments or concerns about moving pugixml from ParaView to VTK? Thanks, Dan -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Fri Jun 15 13:00:54 2018 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Fri, 15 Jun 2018 13:00:54 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: Message-ID: +1 On Fri, Jun 15, 2018 at 10:59 AM Dan Lipsa wrote: > > Hi all, > I am working on a CityGML reader for VTK. For this I need a fast XML parser. pugixml is already used by ParaView and seems to be much faster than available choices already present in VTK: libxml2 and expat. pugixml has also a very clean API. > > https://pugixml.org/benchmark.html > > Are there any comments or concerns about moving pugixml from ParaView to VTK? > > Thanks, > Dan > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > From david.thompson at kitware.com Fri Jun 15 13:19:11 2018 From: david.thompson at kitware.com (David Thompson) Date: Fri, 15 Jun 2018 13:19:11 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: Message-ID: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> >> I am working on a CityGML reader for VTK. For this I need a fast XML parser. pugixml is already used by ParaView and seems to be much faster than available choices already present in VTK: libxml2 and expat. pugixml has also a very clean API. >> >> https://pugixml.org/benchmark.html >> >> Are there any comments or concerns about moving pugixml from ParaView to VTK? I thought Ben Boeckel was working on a removing as many things from ThirdParty as possible (and making them parts of a superbuild). So perhaps the CityGML reader should live in a VTK module that requires an external pugi? I know pugi is small, but... David From jonathan.borduas at caboma.com Fri Jun 15 13:57:04 2018 From: jonathan.borduas at caboma.com (Jonathan Borduas) Date: Fri, 15 Jun 2018 17:57:04 +0000 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: Last time I checked, ParaView was using an older version of PugiXML (1.4) while there are now at version 1.9. I think the benchmarks are considering the version 1.9. If you just port the current ParaView implementation of PugiXML to VTK, you might be disappointed. Best, Jonathan -----Original Message----- From: vtk-developers On Behalf Of David Thompson Sent: Friday, June 15, 2018 1:19 PM To: Utkarsh Ayachit Cc: vtk-developers at vtk.org Subject: Re: [vtk-developers] Add pugixml to VTK >> I am working on a CityGML reader for VTK. For this I need a fast XML parser. pugixml is already used by ParaView and seems to be much faster than available choices already present in VTK: libxml2 and expat. pugixml has also a very clean API. >> >> https://pugixml.org/benchmark.html >> >> Are there any comments or concerns about moving pugixml from ParaView to VTK? I thought Ben Boeckel was working on a removing as many things from ThirdParty as possible (and making them parts of a superbuild). So perhaps the CityGML reader should live in a VTK module that requires an external pugi? I know pugi is small, but... David _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers From dan.lipsa at kitware.com Fri Jun 15 14:25:44 2018 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Fri, 15 Jun 2018 14:25:44 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: David, This is certainly an option. There are many readers that require external libraries. Maybe this is the better choice. Moving pugixml would be a future step when/if other modules start using it. Dan On Fri, Jun 15, 2018 at 1:19 PM David Thompson wrote: > >> I am working on a CityGML reader for VTK. For this I need a fast XML > parser. pugixml is already used by ParaView and seems to be much faster > than available choices already present in VTK: libxml2 and expat. pugixml > has also a very clean API. > >> > >> https://pugixml.org/benchmark.html > >> > >> Are there any comments or concerns about moving pugixml from ParaView > to VTK? > > I thought Ben Boeckel was working on a removing as many things from > ThirdParty as possible (and making them parts of a superbuild). So perhaps > the CityGML reader should live in a VTK module that requires an external > pugi? I know pugi is small, but... > > David -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Fri Jun 15 14:28:36 2018 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Fri, 15 Jun 2018 14:28:36 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: > I thought Ben Boeckel was working on a removing as many things from ThirdParty as possible (and making them parts of a superbuild). So perhaps the CityGML reader should live in a VTK module that requires an external pugi? I know pugi is small, but... I am not sure that's correct. He was doing that for Python 3rd party modules. Are you referring to that? From andrew.amaclean at gmail.com Sat Jun 16 01:15:27 2018 From: andrew.amaclean at gmail.com (Andrew Maclean) Date: Sat, 16 Jun 2018 15:15:27 +1000 Subject: [vtk-developers] Voronoi2D In-Reply-To: References: Message-ID: +1! I just had a play with it, the tests for Voronoi2D are really impressive. ---------- Forwarded message ---------- > From: Will Schroeder > To: vtk-developers > Cc: > Bcc: > Date: Fri, 15 Jun 2018 05:32:10 -0400 > Subject: [vtk-developers] Voronoi2D > FYI I pushed in some code today that may be of interest to folks on this > list: > > - vtkVoronoi2D - parallel Voronoi tessellation in 2D > - vtkStaticCleanPolyData - faster, threaded clean poly data (we've seen > anywhere from 50-150x on a 4 core laptop) > - vtkStaticPointLocator2D - 2D version of the fast, parallel > vtkStaticPointLocator > - vtkSpheres - an implicit function represents union of spheres (great for > visualizing the Voronoi Flower error metric and related stuff like Delaunay > spheres) > - Some fun tests e.g. TestVoronoi2D2.py, which includes functions > stretching numerical stability (lissajous, quarterDisk, Kuzmin) provided by > David and Joachim Pouderoux). > > While the code that has been pushed is very useful in its current state > there is more work to be done. Specifically the Voronoi algorithm is a > novel parallel algorithm that seems to be surprisingly robust and very > fast. (I've been working with Dave Thompson and he is working on a 3D > version in vtk-m; we are preparing some publications.) We also want to > extend the Voronoi class to produce Delaunay triangulations, maybe support > constrained boundaries etc. Also because these are parallel algorithms > there are some quirks to be worked out (for example the order of execution, > which in some parallel systems is not always predictable, can affect > results). > > The point is if you have a request or see something amiss please let me > know. > > Best, > W > > > > -- > William J. Schroeder, PhD > Kitware, Inc. - Building the World's Technical Computing Software > 28 Corporate Drive > Clifton Park, NY 12065 > will.schroeder at kitware.com > http://www.kitware.com > (518) 881-4902 > > > -- ___________________________________________ Andrew J. P. Maclean ___________________________________________ -------------- next part -------------- An HTML attachment was scrubbed... URL: From sur.chiranjib at gmail.com Sat Jun 16 02:37:28 2018 From: sur.chiranjib at gmail.com (Chiranjib Sur) Date: Sat, 16 Jun 2018 12:07:28 +0530 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: My few cents... The disadvantage with pugixml is that it's a non-validating parser. If I want to make full use of XML schema for any custom developed plugin, it's a very poor choice then. Any thoughts? Thanks and regards, Chiranjib ------ Using hand held device. Sorry for the typo, if any. On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit wrote: > > I thought Ben Boeckel was working on a removing as many things from > ThirdParty as possible (and making them parts of a superbuild). So perhaps > the CityGML reader should live in a VTK module that requires an external > pugi? I know pugi is small, but... > > I am not sure that's correct. He was doing that for Python 3rd party > modules. Are you referring to that? > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sur.chiranjib at gmail.com Sat Jun 16 02:39:56 2018 From: sur.chiranjib at gmail.com (Chiranjib Sur) Date: Sat, 16 Jun 2018 12:09:56 +0530 Subject: [vtk-developers] Voronoi2D In-Reply-To: References: Message-ID: This is very interesting. Will the implementation of Delaunay triangulations API's be improved following this? I experienced Delaunay3D for large datasets is very slow. Thanks and regards, Chiranjib ------ Using hand held device. Sorry for the typo, if any. On Sat, Jun 16, 2018, 10:46 AM Andrew Maclean wrote: > +1! > I just had a play with it, the tests for Voronoi2D are really > impressive. > > ---------- Forwarded message ---------- >> From: Will Schroeder >> To: vtk-developers >> Cc: >> Bcc: >> Date: Fri, 15 Jun 2018 05:32:10 -0400 >> Subject: [vtk-developers] Voronoi2D >> FYI I pushed in some code today that may be of interest to folks on this >> list: >> >> - vtkVoronoi2D - parallel Voronoi tessellation in 2D >> - vtkStaticCleanPolyData - faster, threaded clean poly data (we've seen >> anywhere from 50-150x on a 4 core laptop) >> - vtkStaticPointLocator2D - 2D version of the fast, parallel >> vtkStaticPointLocator >> - vtkSpheres - an implicit function represents union of spheres (great >> for visualizing the Voronoi Flower error metric and related stuff like >> Delaunay spheres) >> - Some fun tests e.g. TestVoronoi2D2.py, which includes functions >> stretching numerical stability (lissajous, quarterDisk, Kuzmin) provided by >> David and Joachim Pouderoux). >> >> While the code that has been pushed is very useful in its current state >> there is more work to be done. Specifically the Voronoi algorithm is a >> novel parallel algorithm that seems to be surprisingly robust and very >> fast. (I've been working with Dave Thompson and he is working on a 3D >> version in vtk-m; we are preparing some publications.) We also want to >> extend the Voronoi class to produce Delaunay triangulations, maybe support >> constrained boundaries etc. Also because these are parallel algorithms >> there are some quirks to be worked out (for example the order of execution, >> which in some parallel systems is not always predictable, can affect >> results). >> >> The point is if you have a request or see something amiss please let me >> know. >> >> Best, >> W >> >> >> >> -- >> William J. Schroeder, PhD >> Kitware, Inc. - Building the World's Technical Computing Software >> 28 Corporate Drive >> Clifton Park, NY 12065 >> will.schroeder at kitware.com >> http://www.kitware.com >> (518) 881-4902 >> >> >> > -- > ___________________________________________ > Andrew J. P. Maclean > > ___________________________________________ > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hitman-47fran at hotmail.com Sun Jun 17 18:14:13 2018 From: hitman-47fran at hotmail.com (rolof) Date: Sun, 17 Jun 2018 15:14:13 -0700 (MST) Subject: [vtk-developers] Multithread filter with CPU and GPU Message-ID: <1529273653863-0.post@n5.nabble.com> Hi everyone, is It possible to create a multithread filter like ITK multithread filter or the only way is using openMP or something similar? I saw several examples of Filters but I couldn't find a multithread example. On the other and, it is possible to use GPU filters or should I do it myself with opencl low level functions and? Thanks in advance. -- Sent from: http://vtk.1045678.n5.nabble.com/VTK-Dev-f1251487.html From will.schroeder at kitware.com Mon Jun 18 06:56:13 2018 From: will.schroeder at kitware.com (Will Schroeder) Date: Mon, 18 Jun 2018 06:56:13 -0400 Subject: [vtk-developers] Voronoi2D In-Reply-To: References: Message-ID: If all goes well, I'm thinking we'll likely maintain the current Delaunay algorithms as reference implementations (as they are classic, serial insertion approaches) and extend the new Voronoi classes to optionally output Delaunay triangulations. This will likely take a while and we may not replicate all features found in vtkDelaunay classes (e.g., alpha shapes). However I've been down the path of mesh generation before and it is littered with the bodies of gotchas and numerical instabilities so I reserve the right to be cautious :-) However if David can successfully pull off the 3D implementation in vtk-m it is likely to be very fast and more robust, which is why we are quite excited about the work. And needless to say I'm hoping community members will help out in any way they can. On Sat, Jun 16, 2018 at 2:40 AM Chiranjib Sur wrote: > This is very interesting. Will the implementation of Delaunay > triangulations API's be improved following this? > I experienced Delaunay3D for large datasets is very slow. > > Thanks and regards, > Chiranjib > > ------ > Using hand held device. Sorry for the typo, if any. > > On Sat, Jun 16, 2018, 10:46 AM Andrew Maclean > wrote: > >> +1! >> I just had a play with it, the tests for Voronoi2D are really >> impressive. >> >> ---------- Forwarded message ---------- >>> From: Will Schroeder >>> To: vtk-developers >>> Cc: >>> Bcc: >>> Date: Fri, 15 Jun 2018 05:32:10 -0400 >>> Subject: [vtk-developers] Voronoi2D >>> FYI I pushed in some code today that may be of interest to folks on this >>> list: >>> >>> - vtkVoronoi2D - parallel Voronoi tessellation in 2D >>> - vtkStaticCleanPolyData - faster, threaded clean poly data (we've seen >>> anywhere from 50-150x on a 4 core laptop) >>> - vtkStaticPointLocator2D - 2D version of the fast, parallel >>> vtkStaticPointLocator >>> - vtkSpheres - an implicit function represents union of spheres (great >>> for visualizing the Voronoi Flower error metric and related stuff like >>> Delaunay spheres) >>> - Some fun tests e.g. TestVoronoi2D2.py, which includes functions >>> stretching numerical stability (lissajous, quarterDisk, Kuzmin) provided by >>> David and Joachim Pouderoux). >>> >>> While the code that has been pushed is very useful in its current state >>> there is more work to be done. Specifically the Voronoi algorithm is a >>> novel parallel algorithm that seems to be surprisingly robust and very >>> fast. (I've been working with Dave Thompson and he is working on a 3D >>> version in vtk-m; we are preparing some publications.) We also want to >>> extend the Voronoi class to produce Delaunay triangulations, maybe support >>> constrained boundaries etc. Also because these are parallel algorithms >>> there are some quirks to be worked out (for example the order of execution, >>> which in some parallel systems is not always predictable, can affect >>> results). >>> >>> The point is if you have a request or see something amiss please let me >>> know. >>> >>> Best, >>> W >>> >>> >>> >>> -- >>> William J. Schroeder, PhD >>> Kitware, Inc. - Building the World's Technical Computing Software >>> 28 Corporate Drive >>> Clifton Park, NY 12065 >>> will.schroeder at kitware.com >>> http://www.kitware.com >>> (518) 881-4902 >>> >>> >>> >> -- >> ___________________________________________ >> Andrew J. P. Maclean >> >> ___________________________________________ >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Tue Jun 19 15:36:31 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Tue, 19 Jun 2018 21:36:31 +0200 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: 2018-06-16 8:37 GMT+02:00 Chiranjib Sur : > My few cents... The disadvantage with pugixml is that it's a > non-validating parser. If I want to make full use of XML schema for any > custom developed plugin, it's a very poor choice then. > > Any thoughts? > Also worth noting that it's a DOM-like parser only AFAIK, so if you want to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la libxml2's reader interface, you'd need to turn to another library. Note that may not be a problem if VTK already has libxml2 as a dep, since then you could use that. I was thinking more if there should be a push towards one single lib, then it might make sense to pick one that has both DOM and streaming interfaces (don't know if that's a goal/consideration though). Elvis > Thanks and regards, > Chiranjib > > ------ > Using hand held device. Sorry for the typo, if any. > > On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit < > utkarsh.ayachit at kitware.com> wrote: > >> > I thought Ben Boeckel was working on a removing as many things from >> ThirdParty as possible (and making them parts of a superbuild). So perhaps >> the CityGML reader should live in a VTK module that requires an external >> pugi? I know pugi is small, but... >> >> I am not sure that's correct. He was doing that for Python 3rd party >> modules. Are you referring to that? >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at http://www.kitware.com/ >> opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/ > opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dave.demarle at kitware.com Wed Jun 20 11:49:12 2018 From: dave.demarle at kitware.com (David E DeMarle) Date: Wed, 20 Jun 2018 11:49:12 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: > > I was thinking more if there should be a push towards one single lib, ... I for one would really like us to get down to just one xml parser in VTK. The more the less merrier in terms of maintenance effort and project complexity eh? David E DeMarle Kitware, Inc. Principal Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4909 On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik wrote: > 2018-06-16 8:37 GMT+02:00 Chiranjib Sur : > >> My few cents... The disadvantage with pugixml is that it's a >> non-validating parser. If I want to make full use of XML schema for any >> custom developed plugin, it's a very poor choice then. >> >> Any thoughts? >> > > Also worth noting that it's a DOM-like parser only AFAIK, so if you want > to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la > libxml2's reader interface, you'd need to turn to another library. Note > that may not be a problem if VTK already has libxml2 as a dep, since then > you could use that. I was thinking more if there should be a push towards > one single lib, then it might make sense to pick one that has both DOM and > streaming interfaces (don't know if that's a goal/consideration though). > > Elvis > > >> Thanks and regards, >> Chiranjib >> >> ------ >> Using hand held device. Sorry for the typo, if any. >> >> On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit < >> utkarsh.ayachit at kitware.com> wrote: >> >>> > I thought Ben Boeckel was working on a removing as many things from >>> ThirdParty as possible (and making them parts of a superbuild). So perhaps >>> the CityGML reader should live in a VTK module that requires an external >>> pugi? I know pugi is small, but... >>> >>> I am not sure that's correct. He was doing that for Python 3rd party >>> modules. Are you referring to that? >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Search the list archives at: >>> http://markmail.org/search/?q=vtk-developers >>> >>> Follow this link to subscribe/unsubscribe: >>> https://public.kitware.com/mailman/listinfo/vtk-developers >>> >>> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> >> > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan.borduas at caboma.com Wed Jun 20 12:07:20 2018 From: jonathan.borduas at caboma.com (Jonathan Borduas) Date: Wed, 20 Jun 2018 16:07:20 +0000 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: My 2 cents here is that speed is of the essence. Validating XML are good for debugging, however I found that most don?t take the time to create an XSD file to enable the validation. In most of our cases at Caboma, XML and meant to be human readable and editable, but it is rare that we manually edit the structure of an XML file. However, we do wait after .xml parsing when the files are 20mb+. We hope that the community would move to the latest version of pugixml (1.9): by looking at the changelogs, there was a lot of performance improvements since version 1.4 (the current version used in ParaView). https://pugixml.org/docs/manual.html#v1.5 Best Jonathan Borduas CTO, Caboma Inc. From: vtk-developers On Behalf Of David E DeMarle Sent: Wednesday, June 20, 2018 11:49 AM To: Elvis Stansvik Cc: vtkdev Subject: Re: [vtk-developers] Add pugixml to VTK I was thinking more if there should be a push towards one single lib, ... I for one would really like us to get down to just one xml parser in VTK. The more the less merrier in terms of maintenance effort and project complexity eh? David E DeMarle Kitware, Inc. Principal Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4909 On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik > wrote: 2018-06-16 8:37 GMT+02:00 Chiranjib Sur >: My few cents... The disadvantage with pugixml is that it's a non-validating parser. If I want to make full use of XML schema for any custom developed plugin, it's a very poor choice then. Any thoughts? Also worth noting that it's a DOM-like parser only AFAIK, so if you want to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la libxml2's reader interface, you'd need to turn to another library. Note that may not be a problem if VTK already has libxml2 as a dep, since then you could use that. I was thinking more if there should be a push towards one single lib, then it might make sense to pick one that has both DOM and streaming interfaces (don't know if that's a goal/consideration though). Elvis Thanks and regards, Chiranjib ------ Using hand held device. Sorry for the typo, if any. On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit > wrote: > I thought Ben Boeckel was working on a removing as many things from ThirdParty as possible (and making them parts of a superbuild). So perhaps the CityGML reader should live in a VTK module that requires an external pugi? I know pugi is small, but... I am not sure that's correct. He was doing that for Python 3rd party modules. Are you referring to that? _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -------------- next part -------------- An HTML attachment was scrubbed... URL: From bob.obara at kitware.com Wed Jun 20 12:13:16 2018 From: bob.obara at kitware.com (Robert Michael O'Bara) Date: Wed, 20 Jun 2018 12:13:16 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> Message-ID: <3E8B5C57-7401-4F3F-88AE-343A3499C363@kitware.com> SMTK and CMB use pugixml for years and have been very happy with it. Bob Sent from my iPad > On Jun 20, 2018, at 12:07 PM, Jonathan Borduas wrote: > > My 2 cents here is that speed is of the essence. Validating XML are good for debugging, however I found that most don?t take the time to create an XSD file to enable the validation. > > In most of our cases at Caboma, XML and meant to be human readable and editable, but it is rare that we manually edit the structure of an XML file. > > However, we do wait after .xml parsing when the files are 20mb+. We hope that the community would move to the latest version of pugixml (1.9): by looking at the changelogs, there was a lot of performance improvements since version 1.4 (the current version used in ParaView). > https://pugixml.org/docs/manual.html#v1.5 > > Best > > Jonathan Borduas > CTO, Caboma Inc. > > > From: vtk-developers On Behalf Of David E DeMarle > Sent: Wednesday, June 20, 2018 11:49 AM > To: Elvis Stansvik > Cc: vtkdev > Subject: Re: [vtk-developers] Add pugixml to VTK > > I was thinking more if there should be a push towards one single lib, ... > > I for one would really like us to get down to just one xml parser in VTK. The more the less merrier in terms of maintenance effort and project complexity eh? > > David E DeMarle > Kitware, Inc. > Principal Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4909 > > > On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik wrote: > 2018-06-16 8:37 GMT+02:00 Chiranjib Sur : > My few cents... The disadvantage with pugixml is that it's a non-validating parser. If I want to make full use of XML schema for any custom developed plugin, it's a very poor choice then. > > Any thoughts? > > Also worth noting that it's a DOM-like parser only AFAIK, so if you want to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la libxml2's reader interface, you'd need to turn to another library. Note that may not be a problem if VTK already has libxml2 as a dep, since then you could use that. I was thinking more if there should be a push towards one single lib, then it might make sense to pick one that has both DOM and streaming interfaces (don't know if that's a goal/consideration though). > > Elvis > > > Thanks and regards, > Chiranjib > > ------ > Using hand held device. Sorry for the typo, if any. > > On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit wrote: > > I thought Ben Boeckel was working on a removing as many things from ThirdParty as possible (and making them parts of a superbuild). So perhaps the CityGML reader should live in a VTK module that requires an external pugi? I know pugi is small, but... > > I am not sure that's correct. He was doing that for Python 3rd party > modules. Are you referring to that? > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nztoddler at yahoo.com Wed Jun 20 21:43:06 2018 From: nztoddler at yahoo.com (Todd Martin) Date: Thu, 21 Jun 2018 01:43:06 +0000 (UTC) Subject: [vtk-developers] Failed tests References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> Message-ID: <1911539656.100041.1529545387615@mail.yahoo.com> Hi. I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 laptop with a Radeon graphics card. 1>The following tests FAILED: 1>?? ? 51 - vtkChartsCoreCxx-TestBagPlot (Failed) 1>?? ? 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) 1>?? ? 60 - vtkChartsCoreCxx-TestChartDouble (Failed) 1>?? ? 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) 1>?? ? 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) 1>?? ? 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) 1>?? ? 68 - vtkChartsCoreCxx-TestContext (Failed) 1>?? ? 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) 1>?? ? 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) 1>?? ? 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) 1>?? ? 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) 1>?? ?100 - vtkChartsCoreCxx-TestScatterPlot (Failed) 1>?? ?102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) 1>?? ?103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) 1>?? ?104 - vtkChartsCoreCxx-TestScientificPlot (Failed) 1>?? ?1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) 1>?? ?1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) 1>?? ?1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) 1>?? ?1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes (Failed) 1>?? ?1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) 1>?? ?1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque (Failed) 1>?? ?1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol (Failed) With respect to vtkChartsCoreCxx and?vtkRenderingOpenGL2Cxx the failures all exhibit the same feature - no points/verticies. I have attached images to illustrate the problem. I don't know if it is relevant, but I noticed an inability to display points in SalomE (which uses VTK for displaying meshes) many years ago after switching from a desktop machine with a Nvidia graphics card to a laptop with a Radeon graphics card. I always assumed the bug was in SalomE, but it might be this failure in VTK itself. Todd Martin, PhD. Freelance Engineer/Software Architect. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestBagPlot.png Type: image/png Size: 9091 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestBagPlot.png Type: image/png Size: 10697 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestSpherePoints.png Type: image/png Size: 86213 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestSpherePoints.png Type: image/png Size: 102409 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingBlendModes.png Type: image/png Size: 9493 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingBlendModes.png Type: image/png Size: 9901 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingClip.png Type: image/png Size: 24847 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingClip.png Type: image/png Size: 27046 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingTransVol.png Type: image/png Size: 27023 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: TestGPURayCastDepthPeelingTransVol.png Type: image/png Size: 53298 bytes Desc: not available URL: From dan.lipsa at kitware.com Fri Jun 22 14:28:12 2018 From: dan.lipsa at kitware.com (Dan Lipsa) Date: Fri, 22 Jun 2018 14:28:12 -0400 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: <3E8B5C57-7401-4F3F-88AE-343A3499C363@kitware.com> References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> <3E8B5C57-7401-4F3F-88AE-343A3499C363@kitware.com> Message-ID: Thank you all for your comments. I am trying to summarize them next: Advantages 1. ParaView, SMTK and CMB already use pugixml, so instead of maintaining this library in three projects we'll do it in one VTK (for those of us that work on more than one of these projects) 2. pugixml has a clean interface and it is (much) faster than the alternatives available in VTK. (only the latest pugixml version?) Drawbacks: 1. no validation 2. no streaming (SAX interface) 3. an additional library to maintain in VTK. 4. Three different XML libraries in VTK. Looking at the drawbacks: The features named in drawbacks 1. and 2. are not important if you don't want to use them. If you do, you have alternatives (libxml2 and expat). I think drawback 3 is mitigated by advantage 1. 4. Seems to be the case that different XML libraries have different strengths (completeness versus speed). Given that, we either use the most complete library and give up speed or we have several libraries available and use them based on the feature we need most. VTK already seems to have taken this path with libxml2 and expat. I also suspect that in certain cases we just use the XML library available at the time, so we could convert the code to use a different XML library - Of course this requires time and work! I setup a survey to better assess the community feeling on this: https://goo.gl/forms/3cnOk6To0zuaVP2k2 On Wed, Jun 20, 2018 at 12:13 PM Robert Michael O'Bara < bob.obara at kitware.com> wrote: > SMTK and CMB use pugixml for years and have been very happy with it. > > Bob > > Sent from my iPad > > On Jun 20, 2018, at 12:07 PM, Jonathan Borduas < > jonathan.borduas at caboma.com> wrote: > > My 2 cents here is that speed is of the essence. Validating XML are good > for debugging, however I found that most don?t take the time to create an > XSD file to enable the validation. > > > > In most of our cases at Caboma, XML and meant to be human readable and > editable, but it is rare that we manually edit the structure of an XML > file. > > However, we do wait after .xml parsing when the files are 20mb+. We hope > that the community would move to the latest version of pugixml (1.9): by > looking at the changelogs, there was a lot of performance improvements > since version 1.4 (the current version used in ParaView). > https://pugixml.org/docs/manual.html#v1.5 > > > > Best > > > > Jonathan Borduas > > CTO, Caboma Inc. > > > > > > *From:* vtk-developers *On > Behalf Of *David E DeMarle > *Sent:* Wednesday, June 20, 2018 11:49 AM > *To:* Elvis Stansvik > *Cc:* vtkdev > *Subject:* Re: [vtk-developers] Add pugixml to VTK > > > > I was thinking more if there should be a push towards one single lib, ... > > > > I for one would really like us to get down to just one xml parser in VTK. > The more the less merrier in terms of maintenance effort and project > complexity eh? > > > > David E DeMarle > Kitware, Inc. > Principal Engineer > 21 Corporate Drive > Clifton Park, NY 12065-8662 > Phone: 518-881-4909 > > > > > > On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik < > elvis.stansvik at orexplore.com> wrote: > > 2018-06-16 8:37 GMT+02:00 Chiranjib Sur : > > My few cents... The disadvantage with pugixml is that it's a > non-validating parser. If I want to make full use of XML schema for any > custom developed plugin, it's a very poor choice then. > > > > Any thoughts? > > > > Also worth noting that it's a DOM-like parser only AFAIK, so if you want > to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la > libxml2's reader interface, you'd need to turn to another library. Note > that may not be a problem if VTK already has libxml2 as a dep, since then > you could use that. I was thinking more if there should be a push towards > one single lib, then it might make sense to pick one that has both DOM and > streaming interfaces (don't know if that's a goal/consideration though). > > > > Elvis > > > > > > Thanks and regards, > Chiranjib > > ------ > Using hand held device. Sorry for the typo, if any. > > > > On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit < > utkarsh.ayachit at kitware.com> wrote: > > > I thought Ben Boeckel was working on a removing as many things from > ThirdParty as possible (and making them parts of a superbuild). So perhaps > the CityGML reader should live in a VTK module that requires an external > pugi? I know pugi is small, but... > > I am not sure that's correct. He was doing that for Python 3rd party > modules. Are you referring to that? > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From elvis.stansvik at orexplore.com Mon Jun 25 03:05:19 2018 From: elvis.stansvik at orexplore.com (Elvis Stansvik) Date: Mon, 25 Jun 2018 09:05:19 +0200 Subject: [vtk-developers] Add pugixml to VTK In-Reply-To: References: <87FC3B44-C211-4882-A35E-ACCB8890A532@kitware.com> <3E8B5C57-7401-4F3F-88AE-343A3499C363@kitware.com> Message-ID: Den fre 22 juni 2018 20:28Dan Lipsa skrev: > Thank you all for your comments. I am trying to summarize them next: > > Advantages > 1. ParaView, SMTK and CMB already use pugixml, so instead of maintaining > this library in three projects we'll do it in one VTK (for those of us that > work on more than one of these projects) > 2. pugixml has a clean interface and it is (much) faster than the > alternatives available in VTK. (only the latest pugixml version?) > > Drawbacks: > 1. no validation > 2. no streaming (SAX interface) > 3. an additional library to maintain in VTK. > 4. Three different XML libraries in VTK. > > Looking at the drawbacks: The features named in drawbacks 1. and 2. are > not important if you don't want to use them. If you do, you have > alternatives (libxml2 and expat). > I think drawback 3 is mitigated by advantage 1. > > 4. Seems to be the case that different XML libraries have different > strengths (completeness versus speed). Given that, we either use the most > complete library and give up speed or we have several libraries available > and use them based on the feature we need most. VTK already seems to have > taken this path with libxml2 and expat. I also suspect that in certain > cases we just use the XML library available at the time, so we could > convert the code to use a different XML library - Of course this requires > time and work! > > I setup a survey to better assess the community feeling on this: > > https://goo.gl/forms/3cnOk6To0zuaVP2k2 > > I'm agnostic :) An idea would be to maybe try to eliminate expat at some point afterwards, to bring it down to just two libs again? I don't think the speed advantage of expat over libxml2 could really matter that much? (libxml2 has both a SAX-like and a pull-style reader API). libxml2 can then be the power horse for those who want 100% conformance and possibility of validation, while pugi for those who need speedy DOM. I wonder what are the speed-requiring use cases for DOM parsing though? Are you parsing many small docs or a few big ones? Is the XML parsing a true bottleneck? Elvis > > On Wed, Jun 20, 2018 at 12:13 PM Robert Michael O'Bara < > bob.obara at kitware.com> wrote: > >> SMTK and CMB use pugixml for years and have been very happy with it. >> >> Bob >> >> Sent from my iPad >> >> On Jun 20, 2018, at 12:07 PM, Jonathan Borduas < >> jonathan.borduas at caboma.com> wrote: >> >> My 2 cents here is that speed is of the essence. Validating XML are good >> for debugging, however I found that most don?t take the time to create an >> XSD file to enable the validation. >> >> >> >> In most of our cases at Caboma, XML and meant to be human readable and >> editable, but it is rare that we manually edit the structure of an XML >> file. >> >> However, we do wait after .xml parsing when the files are 20mb+. We hope >> that the community would move to the latest version of pugixml (1.9): by >> looking at the changelogs, there was a lot of performance improvements >> since version 1.4 (the current version used in ParaView). >> https://pugixml.org/docs/manual.html#v1.5 >> >> >> >> Best >> >> >> >> Jonathan Borduas >> >> CTO, Caboma Inc. >> >> >> >> >> >> *From:* vtk-developers *On >> Behalf Of *David E DeMarle >> *Sent:* Wednesday, June 20, 2018 11:49 AM >> *To:* Elvis Stansvik >> *Cc:* vtkdev >> *Subject:* Re: [vtk-developers] Add pugixml to VTK >> >> >> >> I was thinking more if there should be a push towards one single lib, ... >> >> >> >> I for one would really like us to get down to just one xml parser in VTK. >> The more the less merrier in terms of maintenance effort and project >> complexity eh? >> >> >> >> David E DeMarle >> Kitware, Inc. >> Principal Engineer >> 21 Corporate Drive >> Clifton Park, NY 12065-8662 >> Phone: 518-881-4909 >> >> >> >> >> >> On Tue, Jun 19, 2018 at 3:36 PM Elvis Stansvik < >> elvis.stansvik at orexplore.com> wrote: >> >> 2018-06-16 8:37 GMT+02:00 Chiranjib Sur : >> >> My few cents... The disadvantage with pugixml is that it's a >> non-validating parser. If I want to make full use of XML schema for any >> custom developed plugin, it's a very poor choice then. >> >> >> >> Any thoughts? >> >> >> >> Also worth noting that it's a DOM-like parser only AFAIK, so if you want >> to do streaming parsing in a push paradigm ? la SAX or a pull paradigm ? la >> libxml2's reader interface, you'd need to turn to another library. Note >> that may not be a problem if VTK already has libxml2 as a dep, since then >> you could use that. I was thinking more if there should be a push towards >> one single lib, then it might make sense to pick one that has both DOM and >> streaming interfaces (don't know if that's a goal/consideration though). >> >> >> >> Elvis >> >> >> >> >> >> Thanks and regards, >> Chiranjib >> >> ------ >> Using hand held device. Sorry for the typo, if any. >> >> >> >> On Fri, Jun 15, 2018, 11:59 PM Utkarsh Ayachit < >> utkarsh.ayachit at kitware.com> wrote: >> >> > I thought Ben Boeckel was working on a removing as many things from >> ThirdParty as possible (and making them parts of a superbuild). So perhaps >> the CityGML reader should live in a VTK module that requires an external >> pugi? I know pugi is small, but... >> >> I am not sure that's correct. He was doing that for Python 3rd party >> modules. Are you referring to that? >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: http://markmail.org/search/?q=vtk-developers >> >> Follow this link to subscribe/unsubscribe: >> https://public.kitware.com/mailman/listinfo/vtk-developers >> >> _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shawn.waldon at kitware.com Mon Jun 25 10:35:03 2018 From: shawn.waldon at kitware.com (Shawn Waldon) Date: Mon, 25 Jun 2018 10:35:03 -0400 Subject: [vtk-developers] Eeloo has been updated Message-ID: Hi all, The VTK buildbot dashboard 'eeloo' was updated from Fedora 26 to 28 last Friday. This caused issues with the version of pdal we had built to test that reader, so I have updated the PDAL to version 1.7.2 (latest). Dan & Aashish, If this is a problem let me know. The old pdal didn't work with the new system jsoncpp, so I had to update it. VTK does build against the new version... The old version of pdal was 1.6. Shawn -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.martin at kitware.com Mon Jun 25 14:23:24 2018 From: ken.martin at kitware.com (Ken Martin) Date: Mon, 25 Jun 2018 14:23:24 -0400 Subject: [vtk-developers] Failed tests In-Reply-To: <1911539656.100041.1529545387615@mail.yahoo.com> References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> Message-ID: In case no one has suggested this yet, have you made sure you have the latest driver? That seems to often solve these types of issues. On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers < vtk-developers at public.kitware.com> wrote: > Hi. > > I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 > laptop with a Radeon graphics card. > > 1>The following tests FAILED: > 1> 51 - vtkChartsCoreCxx-TestBagPlot (Failed) > 1> 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) > 1> 60 - vtkChartsCoreCxx-TestChartDouble (Failed) > 1> 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) > 1> 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) > 1> 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) > 1> 68 - vtkChartsCoreCxx-TestContext (Failed) > 1> 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) > 1> 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) > 1> 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) > 1> 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) > 1> 100 - vtkChartsCoreCxx-TestScatterPlot (Failed) > 1> 102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) > 1> 103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) > 1> 104 - vtkChartsCoreCxx-TestScientificPlot (Failed) > 1> 1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) > 1> 1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) > 1> 1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) > 1> 1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes > (Failed) > 1> 1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) > 1> 1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque > (Failed) > 1> 1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol > (Failed) > > With respect to vtkChartsCoreCxx and vtkRenderingOpenGL2Cxx the failures > all exhibit the same feature - no points/verticies. I have attached images > to illustrate the problem. I don't know if it is relevant, but I noticed an > inability to display points in SalomE (which uses VTK for displaying > meshes) many years ago after switching from a desktop machine with a Nvidia > graphics card to a laptop with a Radeon graphics card. I always assumed the > bug was in SalomE, but it might be this failure in VTK itself. > > > Todd Martin, PhD. > Freelance Engineer/Software Architect. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nztoddler at yahoo.com Mon Jun 25 17:09:23 2018 From: nztoddler at yahoo.com (Todd) Date: Tue, 26 Jun 2018 09:09:23 +1200 Subject: [vtk-developers] Failed tests In-Reply-To: Message-ID: An HTML attachment was scrubbed... URL: From nztoddler at yahoo.com Mon Jun 25 19:13:47 2018 From: nztoddler at yahoo.com (Todd Martin) Date: Mon, 25 Jun 2018 23:13:47 +0000 (UTC) Subject: [vtk-developers] Failed tests In-Reply-To: References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> Message-ID: <491086455.1986768.1529968427757@mail.yahoo.com> I updated the graphics card drivers but it made no difference. What I did find is that if I explicitly set the plot points marker style to either VTK_MARKER_CROSS or VTK_MARKER_SQUARE in the TestLinePlot2 test it works; although it always draws squares. VTK_MARKER_PLUS, VTK_MARKER_CIRCLE and?VTK_MARKER_DIAMOND produce nothing. The default style is VTK_MARKER_CIRCLE Todd Martin, PhD. Freelance Engineer/Software Architect. On Tuesday, June 26, 2018, 6:23:34 AM GMT+12, Ken Martin wrote: In case no one has suggested this yet, have you made sure you have the latest driver? That seems to often solve these types of issues. On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers wrote: Hi. I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 laptop with a Radeon graphics card. 1>The following tests FAILED: 1>?? ? 51 - vtkChartsCoreCxx-TestBagPlot (Failed) 1>?? ? 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) 1>?? ? 60 - vtkChartsCoreCxx-TestChartDouble (Failed) 1>?? ? 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) 1>?? ? 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) 1>?? ? 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) 1>?? ? 68 - vtkChartsCoreCxx-TestContext (Failed) 1>?? ? 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) 1>?? ? 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) 1>?? ? 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) 1>?? ? 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) 1>?? ?100 - vtkChartsCoreCxx-TestScatterPlot (Failed) 1>?? ?102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) 1>?? ?103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) 1>?? ?104 - vtkChartsCoreCxx-TestScientificPlot (Failed) 1>?? ?1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) 1>?? ?1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) 1>?? ?1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) 1>?? ?1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes (Failed) 1>?? ?1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) 1>?? ?1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque (Failed) 1>?? ?1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol (Failed) With respect to vtkChartsCoreCxx and?vtkRenderingOpenGL2Cxx the failures all exhibit the same feature - no points/verticies. I have attached images to illustrate the problem. I don't know if it is relevant, but I noticed an inability to display points in SalomE (which uses VTK for displaying meshes) many years ago after switching from a desktop machine with a Nvidia graphics card to a laptop with a Radeon graphics card. I always assumed the bug was in SalomE, but it might be this failure in VTK itself. Todd Martin, PhD. Freelance Engineer/Software Architect. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From will.schroeder at kitware.com Tue Jun 26 05:57:04 2018 From: will.schroeder at kitware.com (Will Schroeder) Date: Tue, 26 Jun 2018 05:57:04 -0400 Subject: [vtk-developers] Letters of Support for VTK proposal In-Reply-To: References: Message-ID: We really can use more letters of support, they mean a lot in the review process. Please consider sending us one. And thanks to those of you that already have. Best, Will On Fri, Jun 8, 2018 at 11:06 AM Will Schroeder wrote: > > > > > > > > > > > > > > > > > > > > > > *Dear VTK Community-Kitware is submitting a VTK development grant proposal > to the NIH in early July, and we?d like you to send us a letter of support > for that proposal. This four year proposal aims to make significant > improvements to VTK including rendering enhancements (VR and AR), better > support for the web (such as VTK.js), improved data integration (supporting > deep learning systems and federated, distributed databases, for example), > and updated mechanisms for community support (improving the software and > contribution process, documentation).We are very excited about the proposal > since it will make a very positive impact on VTK, its community, and the > many applications that use VTK. Several years ago we received a similar > award and were able to revamp our rendering support (OpenGL), improve our > software processes, and lay the foundation for VTK.js (among other > achievements). Now, we can really use your help with our follow-on > proposal. Part of the strategy of our proposal is to demonstrate to the > reviewers that VTK plays a critical part in medical innovation. Along this > line, we want to hear from the developers and users of VTK, so that they > can indicate their support for VTK and our proposal.If you?d like to help, > we have included three example letters. Please modify one of them to fit > your circumstances, copy it to your letterhead, sign it, and then send it > (a scanned pdf is fine) directly to me by June 30. These letters in no way > obligate you or your employer, they simply state ?VTK is great and > important to my work.? Also, don?t worry if you are not doing biomedical > research, we want to hear from everybody. Note that this information (i.e., > the names of endorsers) is considered private, only the writers of the VTK > proposal and the NIH review team will see this information.If you have any > questions or concerns, please feel free to contact me directly. Thanks and > we hope to hear from you (by June 30). Feel free to forward this to friends > and family.Sincerely,Will SchroederStephen AylwardKen MartinExample support > letters follow:Example 1=========Dr. Ken MartinKitware, Inc.28 Corporate > DriveClifton Park, NY 12065, USADear Dr. Martin,I am writing to indicate my > support for your NIH proposal for the continued development of VTK. The VTK > standards and software are absolutely critical to my lab, the ___ Lab at > ___ University, and to my collaborators around the world. Even as we speak, > I am working on a project involving complex visualizations using 3D Slicer, > Osirix, ParaView, and ITKSnap (which are largely built on VTK). Several of > my students also use VTK software libraries to write customized user > interfaces and visualizations for my scientific and clinical collaborators. > Our most recent application was for a physiologist who wanted to explore > very specialized data related to the movement of the tongue in speech after > glossectomy surgery.There are many worthy software projects under > development around the world, but very few who can claim to be > foundational. VTK can claim this, and I'm certain it can claim to be at the > core of hundreds of software products that will be used by many biomedical > researchers and thousands more that will be developed and used in-house. > The complexity of visualization tasks has continued to grow with the volume > of data and its connections across scales and from anatomy to function and > from individuals to populations. VTK is keeping up with the demand?leading > the rest, in fact?and should be a high priority for continued > funding.Example 2=========Dr. William J. SchroederKitware, Inc.28 Corporate > DriveClifton Park, NY 12065, USADear Dr. Schroeder,I enthusiastically > endorse your proposed effort to support and improve VTK. We use this open > source software in our work and have found it extremely helpful as we > create new technological solutions. We have developed a software > application that is currently being used by around the world for scientific > data visualization to gain new insights. Your Visualization Toolkit has > provided the software tools needed to develop that application that has > satisfied the needs of a very diverse customer base. We definitely would be > interested in your proposed VR/AR enhancements and improved integration > with web services. VTK fills a vital role in the international community?s > scientific computing infrastructure; additional developments along the > lines that you propose will certainly accelerate innovation.Example > 3=========Dr. Stephen R. AylwardKitware, Inc.101 East Weaver St, Ste > G4Carrboro, NC 27510, USADear Dr. Aylward,I am writing in ardent support > of your NIH proposal to continue the development, enhancement, and > dissemination of the Visualization Toolkit (VTK). Not only do I use it in > several projects myself, but I have found that it fosters the dissemination > and extension of research by allowing the community to efficiently > reproduce research, to easily combine contributions in unexpected ways, and > to transfer research into production. Developing and maintaining a project > as large and complex as VTK while fostering such an active community is a > breathtaking achievement, and I hope Kitware obtains the funding it needs > to keep this work up. * > > > -- > William J. Schroeder, PhD > Kitware, Inc. - Building the World's Technical Computing Software > 28 Corporate Drive > Clifton Park, NY 12065 > will.schroeder at kitware.com > http://www.kitware.com > (518) 881-4902 > -- William J. Schroeder, PhD Kitware, Inc. - Building the World's Technical Computing Software 28 Corporate Drive Clifton Park, NY 12065 will.schroeder at kitware.com http://www.kitware.com (518) 881-4902 -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.martin at kitware.com Tue Jun 26 09:02:14 2018 From: ken.martin at kitware.com (Ken Martin) Date: Tue, 26 Jun 2018 09:02:14 -0400 Subject: [vtk-developers] Failed tests In-Reply-To: <491086455.1986768.1529968427757@mail.yahoo.com> References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> <491086455.1986768.1529968427757@mail.yahoo.com> Message-ID: What graphics card model do you have? One thing you might try is commenting out this line in vtkOpenGL2ContextDevice2D.cxx, it is around line 1169 // We can actually use point sprites here comment this -> // if (this->RenderWindow->IsPointSpriteBugPresent()) { On Mon, Jun 25, 2018 at 7:14 PM Todd Martin wrote: > I updated the graphics card drivers but it made no difference. > > What I did find is that if I explicitly set the plot points marker style > to either VTK_MARKER_CROSS or VTK_MARKER_SQUARE in the TestLinePlot2 test it > works; although it always draws squares. > > VTK_MARKER_PLUS, VTK_MARKER_CIRCLE and VTK_MARKER_DIAMOND produce > nothing. The default style is VTK_MARKER_CIRCLE > > > > Todd Martin, PhD. > *Freelance Engineer/Software Architect.* > > > > On Tuesday, June 26, 2018, 6:23:34 AM GMT+12, Ken Martin < > ken.martin at kitware.com> wrote: > > > In case no one has suggested this yet, have you made sure you have the > latest driver? That seems to often solve these types of issues. > > > > On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers < > vtk-developers at public.kitware.com> wrote: > > Hi. > > I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 > laptop with a Radeon graphics card. > > 1>The following tests FAILED: > 1> 51 - vtkChartsCoreCxx-TestBagPlot (Failed) > 1> 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) > 1> 60 - vtkChartsCoreCxx-TestChartDouble (Failed) > 1> 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) > 1> 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) > 1> 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) > 1> 68 - vtkChartsCoreCxx-TestContext (Failed) > 1> 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) > 1> 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) > 1> 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) > 1> 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) > 1> 100 - vtkChartsCoreCxx-TestScatterPlot (Failed) > 1> 102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) > 1> 103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) > 1> 104 - vtkChartsCoreCxx-TestScientificPlot (Failed) > 1> 1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) > 1> 1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) > 1> 1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) > 1> 1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes > (Failed) > 1> 1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) > 1> 1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque > (Failed) > 1> 1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol > (Failed) > > With respect to vtkChartsCoreCxx and vtkRenderingOpenGL2Cxx the failures > all exhibit the same feature - no points/verticies. I have attached images > to illustrate the problem. I don't know if it is relevant, but I noticed an > inability to display points in SalomE (which uses VTK for displaying > meshes) many years ago after switching from a desktop machine with a Nvidia > graphics card to a laptop with a Radeon graphics card. I always assumed the > bug was in SalomE, but it might be this failure in VTK itself. > > > Todd Martin, PhD. > Freelance Engineer/Software Architect. > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=vtk-developers > > Follow this link to subscribe/unsubscribe: > https://public.kitware.com/mailman/listinfo/vtk-developers > > > > -- > Ken Martin PhD > Distinguished Engineer > Kitware Inc. > 101 East Weaver Street > Carrboro, North Carolina > 27510 USA > > This communication, including all attachments, contains confidential and > legally privileged information, and it is intended only for the use of the > addressee. Access to this email by anyone else is unauthorized. If you are > not the intended recipient, any disclosure, copying, distribution or any > action taken in reliance on it is prohibited and may be unlawful. If you > received this communication in error please notify us immediately and > destroy the original message. Thank you. > -- Ken Martin PhD Distinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nztoddler at yahoo.com Tue Jun 26 19:38:00 2018 From: nztoddler at yahoo.com (Todd Martin) Date: Tue, 26 Jun 2018 23:38:00 +0000 (UTC) Subject: [vtk-developers] Failed tests In-Reply-To: References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> <491086455.1986768.1529968427757@mail.yahoo.com> Message-ID: <458439421.3016272.1530056280361@mail.yahoo.com> On Wednesday, June 27, 2018, 1:02:24 AM GMT+12, Ken Martin wrote: What graphics card model do you have? Actually its an integrated GPU. Not Radeon at all. ?????????? Card name: Intel(R) HD Graphics 4600 ??????? Manufacturer: Intel Corporation ?????????? Chip type: Intel(R) HD Graphics Family ??????????? DAC type: Internal ???????? Device Type: Full Device (POST) ????????? Device Key: Enum\PCI\VEN_8086&DEV_0416&SUBSYS_1940103C&REV_06 ?????? Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] ?Device Problem Code: No Problem ?Driver Problem Code: Unknown ????? Display Memory: 2160 MB ??? Dedicated Memory: 112 MB ?????? Shared Memory: 2048 MB ??????? Current Mode: 1920 x 1080 (32 bit) (60Hz) ???????? HDR Support: Not Supported ??? Display Topology: External ?Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 ???? Color Primaries: Red(0.648938,0.339367), Green(0.282727,0.603039), Blue(0.143078,0.070813), White Point(0.313000,0.329602) ?? Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000 ??????? Monitor Name: AOC 2236 ?????? Monitor Model: 2236 ????????? Monitor Id: AOC2236 ???????? Native Mode: 1920 x 1080(p) (60.000Hz) ???????? Output Type: HD15 Monitor Capabilities: HDR Not Supported Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP ????? Advanced Color: Not Supported ???????? Driver Name: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll ?Driver File Version: 20.19.0015.4835 (English) ????? Driver Version: 20.19.15.4835 ???????? DDI Version: 12 ????? Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1 ??????? Driver Model: WDDM 2.0 ?Graphics Preemption: Primitive ? Compute Preemption: Thread group ??????????? Miracast: Supported ?Hybrid Graphics GPU: Integrated ????? Power P-states: Not Supported ????? Virtualization: Not Supported ????????? Block List: No Blocks ? Catalog Attributes: Universal:N/A Declarative:N/A ?? Driver Attributes: Final Retail ??? Driver Date/Size: 16/10/2017 12:00:00 PM, 39861272 bytes ???????? WHQL Logo'd: Yes ???? WHQL Date Stamp: Unknown ?? Device Identifier: {D7B78E66-4756-11CF-6F61-4F39BAC2D935} ?????????? Vendor ID: 0x8086 ?????????? Device ID: 0x0416 ?????????? SubSys ID: 0x1940103C ???????? Revision ID: 0x0006 ? Driver Strong Name: oem40.inf:5f63e534dd929195:iHSWM_w10:20.19.15.4835:pci\ven_8086&dev_0416&subsys_1940103c ????? Rank Of Driver: 00D10001 ???????? Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C ???????? DXVA2 Modes: DXVA2_ModeMPEG2_VLD? DXVA2_ModeMPEG2_IDCT? DXVA2_ModeVC1_D2010? DXVA2_ModeWMV9_IDCT? DXVA2_ModeVC1_IDCT? DXVA2_ModeH264_VLD_NoFGT? DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT? DXVA2_ModeH264_VLD_Stereo_NoFGT? DXVA2_ModeH264_VLD_Multiview_NoFGT? DXVA2_ModeHEVC_VLD_Main ??????? D3D9 Overlay: Supported ???????????? DXVA-HD: Supported ??????? DDraw Status: Enabled ????????? D3D Status: Enabled ????????? AGP Status: Enabled ?????? MPO MaxPlanes: 1 ??????????? MPO Caps: Not Supported ???????? MPO Stretch: Not Supported ???? MPO Media Hints: Not Supported ???????? MPO Formats: Not Supported ??? PanelFitter Caps: Not Supported ?PanelFitter Stretch: Not Supported One thing you might try is commenting out this line in vtkOpenGL2ContextDevice2D.cxx, it is around line 1169 ? ? // We can actually use point sprites herecomment this ->? ? // if (this->RenderWindow->IsPointSpriteBugPresent())? ? { Well that fixed the chart tests. Now there's just vtkRenderingOpenGL2Cxx (spheres and verticies) and vtkRenderingVolumneOpenGL2Cxx (depth peeling). I will investigate further. On Mon, Jun 25, 2018 at 7:14 PM Todd Martin wrote: I updated the graphics card drivers but it made no difference. What I did find is that if I explicitly set the plot points marker style to either VTK_MARKER_CROSS or VTK_MARKER_SQUARE in the TestLinePlot2 test it works; although it always draws squares. VTK_MARKER_PLUS, VTK_MARKER_CIRCLE and?VTK_MARKER_DIAMOND produce nothing. The default style is VTK_MARKER_CIRCLE Todd Martin, PhD. Freelance Engineer/Software Architect. On Tuesday, June 26, 2018, 6:23:34 AM GMT+12, Ken Martin wrote: In case no one has suggested this yet, have you made sure you have the latest driver? That seems to often solve these types of issues. On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers wrote: Hi. I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 laptop with a Radeon graphics card. 1>The following tests FAILED: 1>?? ? 51 - vtkChartsCoreCxx-TestBagPlot (Failed) 1>?? ? 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) 1>?? ? 60 - vtkChartsCoreCxx-TestChartDouble (Failed) 1>?? ? 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) 1>?? ? 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) 1>?? ? 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) 1>?? ? 68 - vtkChartsCoreCxx-TestContext (Failed) 1>?? ? 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) 1>?? ? 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) 1>?? ? 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) 1>?? ? 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) 1>?? ?100 - vtkChartsCoreCxx-TestScatterPlot (Failed) 1>?? ?102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) 1>?? ?103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) 1>?? ?104 - vtkChartsCoreCxx-TestScientificPlot (Failed) 1>?? ?1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) 1>?? ?1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) 1>?? ?1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) 1>?? ?1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes (Failed) 1>?? ?1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) 1>?? ?1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque (Failed) 1>?? ?1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol (Failed) With respect to vtkChartsCoreCxx and?vtkRenderingOpenGL2Cxx the failures all exhibit the same feature - no points/verticies. I have attached images to illustrate the problem. I don't know if it is relevant, but I noticed an inability to display points in SalomE (which uses VTK for displaying meshes) many years ago after switching from a desktop machine with a Nvidia graphics card to a laptop with a Radeon graphics card. I always assumed the bug was in SalomE, but it might be this failure in VTK itself. Todd Martin, PhD. Freelance Engineer/Software Architect. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nztoddler at yahoo.com Tue Jun 26 19:58:08 2018 From: nztoddler at yahoo.com (Todd Martin) Date: Tue, 26 Jun 2018 23:58:08 +0000 (UTC) Subject: [vtk-developers] Failed tests In-Reply-To: <458439421.3016272.1530056280361@mail.yahoo.com> References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> <491086455.1986768.1529968427757@mail.yahoo.com> <458439421.3016272.1530056280361@mail.yahoo.com> Message-ID: <1368560767.3019861.1530057488420@mail.yahoo.com> Here's what's happening with depth peeling, where the data path on my machine is D:\3RD_PARTY\Build-VTK8-1_64\ExternalData\Testing\Data Todd Martin, PhD. Freelance Engineer/Software Architect. On Wednesday, June 27, 2018, 11:38:00 AM GMT+12, Todd Martin wrote: On Wednesday, June 27, 2018, 1:02:24 AM GMT+12, Ken Martin wrote: What graphics card model do you have? Actually its an integrated GPU. Not Radeon at all. ?????????? Card name: Intel(R) HD Graphics 4600 ??????? Manufacturer: Intel Corporation ?????????? Chip type: Intel(R) HD Graphics Family ??????????? DAC type: Internal ???????? Device Type: Full Device (POST) ????????? Device Key: Enum\PCI\VEN_8086&DEV_0416&SUBSYS_1940103C&REV_06 ?????? Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] ?Device Problem Code: No Problem ?Driver Problem Code: Unknown ????? Display Memory: 2160 MB ??? Dedicated Memory: 112 MB ?????? Shared Memory: 2048 MB ??????? Current Mode: 1920 x 1080 (32 bit) (60Hz) ???????? HDR Support: Not Supported ??? Display Topology: External ?Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 ???? Color Primaries: Red(0.648938,0.339367), Green(0.282727,0.603039), Blue(0.143078,0.070813), White Point(0.313000,0.329602) ?? Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000 ??????? Monitor Name: AOC 2236 ?????? Monitor Model: 2236 ????????? Monitor Id: AOC2236 ???????? Native Mode: 1920 x 1080(p) (60.000Hz) ???????? Output Type: HD15 Monitor Capabilities: HDR Not Supported Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP ????? Advanced Color: Not Supported ???????? Driver Name: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll ?Driver File Version: 20.19.0015.4835 (English) ????? Driver Version: 20.19.15.4835 ???????? DDI Version: 12 ????? Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1 ??????? Driver Model: WDDM 2.0 ?Graphics Preemption: Primitive ? Compute Preemption: Thread group ??????????? Miracast: Supported ?Hybrid Graphics GPU: Integrated ????? Power P-states: Not Supported ????? Virtualization: Not Supported ????????? Block List: No Blocks ? Catalog Attributes: Universal:N/A Declarative:N/A ?? Driver Attributes: Final Retail ??? Driver Date/Size: 16/10/2017 12:00:00 PM, 39861272 bytes ???????? WHQL Logo'd: Yes ???? WHQL Date Stamp: Unknown ?? Device Identifier: {D7B78E66-4756-11CF-6F61-4F39BAC2D935} ?????????? Vendor ID: 0x8086 ?????????? Device ID: 0x0416 ?????????? SubSys ID: 0x1940103C ???????? Revision ID: 0x0006 ? Driver Strong Name: oem40.inf:5f63e534dd929195:iHSWM_w10:20.19.15.4835:pci\ven_8086&dev_0416&subsys_1940103c ????? Rank Of Driver: 00D10001 ???????? Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C ???????? DXVA2 Modes: DXVA2_ModeMPEG2_VLD? DXVA2_ModeMPEG2_IDCT? DXVA2_ModeVC1_D2010? DXVA2_ModeWMV9_IDCT? DXVA2_ModeVC1_IDCT? DXVA2_ModeH264_VLD_NoFGT? DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT? DXVA2_ModeH264_VLD_Stereo_NoFGT? DXVA2_ModeH264_VLD_Multiview_NoFGT? DXVA2_ModeHEVC_VLD_Main ??????? D3D9 Overlay: Supported ???????????? DXVA-HD: Supported ??????? DDraw Status: Enabled ????????? D3D Status: Enabled ????????? AGP Status: Enabled ?????? MPO MaxPlanes: 1 ??????????? MPO Caps: Not Supported ???????? MPO Stretch: Not Supported ???? MPO Media Hints: Not Supported ???????? MPO Formats: Not Supported ??? PanelFitter Caps: Not Supported ?PanelFitter Stretch: Not Supported One thing you might try is commenting out this line in vtkOpenGL2ContextDevice2D.cxx, it is around line 1169 ? ? // We can actually use point sprites herecomment this ->? ? // if (this->RenderWindow->IsPointSpriteBugPresent())? ? { Well that fixed the chart tests. Now there's just vtkRenderingOpenGL2Cxx (spheres and verticies) and vtkRenderingVolumneOpenGL2Cxx (depth peeling). I will investigate further. On Mon, Jun 25, 2018 at 7:14 PM Todd Martin wrote: I updated the graphics card drivers but it made no difference. What I did find is that if I explicitly set the plot points marker style to either VTK_MARKER_CROSS or VTK_MARKER_SQUARE in the TestLinePlot2 test it works; although it always draws squares. VTK_MARKER_PLUS, VTK_MARKER_CIRCLE and?VTK_MARKER_DIAMOND produce nothing. The default style is VTK_MARKER_CIRCLE Todd Martin, PhD. Freelance Engineer/Software Architect. On Tuesday, June 26, 2018, 6:23:34 AM GMT+12, Ken Martin wrote: In case no one has suggested this yet, have you made sure you have the latest driver? That seems to often solve these types of issues. On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers wrote: Hi. I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 laptop with a Radeon graphics card. 1>The following tests FAILED: 1>?? ? 51 - vtkChartsCoreCxx-TestBagPlot (Failed) 1>?? ? 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) 1>?? ? 60 - vtkChartsCoreCxx-TestChartDouble (Failed) 1>?? ? 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) 1>?? ? 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) 1>?? ? 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) 1>?? ? 68 - vtkChartsCoreCxx-TestContext (Failed) 1>?? ? 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) 1>?? ? 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) 1>?? ? 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) 1>?? ? 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) 1>?? ?100 - vtkChartsCoreCxx-TestScatterPlot (Failed) 1>?? ?102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) 1>?? ?103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) 1>?? ?104 - vtkChartsCoreCxx-TestScientificPlot (Failed) 1>?? ?1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) 1>?? ?1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) 1>?? ?1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) 1>?? ?1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes (Failed) 1>?? ?1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) 1>?? ?1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque (Failed) 1>?? ?1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol (Failed) With respect to vtkChartsCoreCxx and?vtkRenderingOpenGL2Cxx the failures all exhibit the same feature - no points/verticies. I have attached images to illustrate the problem. I don't know if it is relevant, but I noticed an inability to display points in SalomE (which uses VTK for displaying meshes) many years ago after switching from a desktop machine with a Nvidia graphics card to a laptop with a Radeon graphics card. I always assumed the bug was in SalomE, but it might be this failure in VTK itself. Todd Martin, PhD. Freelance Engineer/Software Architect. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 1530057312076blob.jpg Type: image/png Size: 27066 bytes Desc: not available URL: From nztoddler at yahoo.com Tue Jun 26 23:40:48 2018 From: nztoddler at yahoo.com (Todd Martin) Date: Wed, 27 Jun 2018 03:40:48 +0000 (UTC) Subject: [vtk-developers] Failed tests In-Reply-To: <1368560767.3019861.1530057488420@mail.yahoo.com> References: <1911539656.100041.1529545387615.ref@mail.yahoo.com> <1911539656.100041.1529545387615@mail.yahoo.com> <491086455.1986768.1529968427757@mail.yahoo.com> <458439421.3016272.1530056280361@mail.yahoo.com> <1368560767.3019861.1530057488420@mail.yahoo.com> Message-ID: <819640388.3124173.1530070848130@mail.yahoo.com> With respect to the TestSpherePoints/TestSphereVertex tests the problem seems to be in vtkOpenGLPolyDataMapper::ReplaceShaderNormal() with the substituted text for the shader. When the following is commented out the points show as squares. Otherwise they are altogether absent. ? //if (this->DrawingSpheres(*this->LastBoundBO, actor)) ? //{ ? //? vtkShaderProgram::Substitute(FSSource, ? //??? "//VTK::Normal::Dec", ? //??? "uniform float ZCalcS;\n" ? //??? "uniform float ZCalcR;\n" ? //??? ); ? //? vtkShaderProgram::Substitute(FSSource, ? //??? "//VTK::Normal::Impl", ? //??? " float xpos = 2.0*gl_PointCoord.x - 1.0;\n" ? //??? " float ypos = 1.0 - 2.0*gl_PointCoord.y;\n" ? //??? " float len2 = xpos*xpos+ ypos*ypos;\n" ? //??? " if (len2 > 1.0) { discard; }\n" ? //??? " vec3 normalVCVSOutput = normalize(\n" ? //??? "?? vec3(2.0*gl_PointCoord.x - 1.0, 1.0 - 2.0*gl_PointCoord.y, sqrt(1.0 - len2)));\n" ? //??? " gl_FragDepth = gl_FragCoord.z + normalVCVSOutput.z*ZCalcS*ZCalcR;\n" ? //??? " if (cameraParallel == 0) {\n" ? //??? "? float ZCalcQ = (normalVCVSOutput.z*ZCalcR - 1.0);\n" ? //??? "? gl_FragDepth = (ZCalcS - gl_FragCoord.z) / ZCalcQ + ZCalcS; }\n" ? //??? ); ? //?? shaders[vtkShader::Fragment]->SetSource(FSSource); ? //?? return; ? //} Todd Martin, PhD. Freelance Engineer/Software Architect. On Wednesday, June 27, 2018, 11:58:35 AM GMT+12, Todd Martin via vtk-developers wrote: Here's what's happening with depth peeling, where the data path on my machine is D:\3RD_PARTY\Build-VTK8-1_64\ExternalData\Testing\Data Todd Martin, PhD. Freelance Engineer/Software Architect. On Wednesday, June 27, 2018, 11:38:00 AM GMT+12, Todd Martin wrote: On Wednesday, June 27, 2018, 1:02:24 AM GMT+12, Ken Martin wrote: What graphics card model do you have? Actually its an integrated GPU. Not Radeon at all. ?????????? Card name: Intel(R) HD Graphics 4600 ??????? Manufacturer: Intel Corporation ?????????? Chip type: Intel(R) HD Graphics Family ??????????? DAC type: Internal ???????? Device Type: Full Device (POST) ????????? Device Key: Enum\PCI\VEN_8086&DEV_0416&SUBSYS_1940103C&REV_06 ?????? Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] ?Device Problem Code: No Problem ?Driver Problem Code: Unknown ????? Display Memory: 2160 MB ??? Dedicated Memory: 112 MB ?????? Shared Memory: 2048 MB ??????? Current Mode: 1920 x 1080 (32 bit) (60Hz) ???????? HDR Support: Not Supported ??? Display Topology: External ?Display Color Space: DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 ???? Color Primaries: Red(0.648938,0.339367), Green(0.282727,0.603039), Blue(0.143078,0.070813), White Point(0.313000,0.329602) ?? Display Luminance: Min Luminance = 0.500000, Max Luminance = 270.000000, MaxFullFrameLuminance = 270.000000 ??????? Monitor Name: AOC 2236 ?????? Monitor Model: 2236 ????????? Monitor Id: AOC2236 ???????? Native Mode: 1920 x 1080(p) (60.000Hz) ???????? Output Type: HD15 Monitor Capabilities: HDR Not Supported Display Pixel Format: DISPLAYCONFIG_PIXELFORMAT_32BPP ????? Advanced Color: Not Supported ???????? Driver Name: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll ?Driver File Version: 20.19.0015.4835 (English) ????? Driver Version: 20.19.15.4835 ???????? DDI Version: 12 ????? Feature Levels: 11_1,11_0,10_1,10_0,9_3,9_2,9_1 ??????? Driver Model: WDDM 2.0 ?Graphics Preemption: Primitive ? Compute Preemption: Thread group ??????????? Miracast: Supported ?Hybrid Graphics GPU: Integrated ????? Power P-states: Not Supported ????? Virtualization: Not Supported ????????? Block List: No Blocks ? Catalog Attributes: Universal:N/A Declarative:N/A ?? Driver Attributes: Final Retail ??? Driver Date/Size: 16/10/2017 12:00:00 PM, 39861272 bytes ???????? WHQL Logo'd: Yes ???? WHQL Date Stamp: Unknown ?? Device Identifier: {D7B78E66-4756-11CF-6F61-4F39BAC2D935} ?????????? Vendor ID: 0x8086 ?????????? Device ID: 0x0416 ?????????? SubSys ID: 0x1940103C ???????? Revision ID: 0x0006 ? Driver Strong Name: oem40.inf:5f63e534dd929195:iHSWM_w10:20.19.15.4835:pci\ven_8086&dev_0416&subsys_1940103c ????? Rank Of Driver: 00D10001 ???????? Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C ???????? DXVA2 Modes: DXVA2_ModeMPEG2_VLD? DXVA2_ModeMPEG2_IDCT? DXVA2_ModeVC1_D2010? DXVA2_ModeWMV9_IDCT? DXVA2_ModeVC1_IDCT? DXVA2_ModeH264_VLD_NoFGT? DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT? DXVA2_ModeH264_VLD_Stereo_NoFGT? DXVA2_ModeH264_VLD_Multiview_NoFGT? DXVA2_ModeHEVC_VLD_Main ??????? D3D9 Overlay: Supported ???????????? DXVA-HD: Supported ??????? DDraw Status: Enabled ????????? D3D Status: Enabled ????????? AGP Status: Enabled ?????? MPO MaxPlanes: 1 ??????????? MPO Caps: Not Supported ???????? MPO Stretch: Not Supported ???? MPO Media Hints: Not Supported ???????? MPO Formats: Not Supported ??? PanelFitter Caps: Not Supported ?PanelFitter Stretch: Not Supported One thing you might try is commenting out this line in vtkOpenGL2ContextDevice2D.cxx, it is around line 1169 ? ? // We can actually use point sprites herecomment this ->? ? // if (this->RenderWindow->IsPointSpriteBugPresent())? ? { Well that fixed the chart tests. Now there's just vtkRenderingOpenGL2Cxx (spheres and verticies) and vtkRenderingVolumneOpenGL2Cxx (depth peeling). I will investigate further. On Mon, Jun 25, 2018 at 7:14 PM Todd Martin wrote: I updated the graphics card drivers but it made no difference. What I did find is that if I explicitly set the plot points marker style to either VTK_MARKER_CROSS or VTK_MARKER_SQUARE in the TestLinePlot2 test it works; although it always draws squares. VTK_MARKER_PLUS, VTK_MARKER_CIRCLE and?VTK_MARKER_DIAMOND produce nothing. The default style is VTK_MARKER_CIRCLE Todd Martin, PhD. Freelance Engineer/Software Architect. On Tuesday, June 26, 2018, 6:23:34 AM GMT+12, Ken Martin wrote: In case no one has suggested this yet, have you made sure you have the latest driver? That seems to often solve these types of issues. On Wed, Jun 20, 2018 at 9:45 PM Todd Martin via vtk-developers wrote: Hi. I recently built and ran the VTK tests with VS2017 on a 64bit Windows 10 laptop with a Radeon graphics card. 1>The following tests FAILED: 1>?? ? 51 - vtkChartsCoreCxx-TestBagPlot (Failed) 1>?? ? 59 - vtkChartsCoreCxx-TestChartBadPoints (Failed) 1>?? ? 60 - vtkChartsCoreCxx-TestChartDouble (Failed) 1>?? ? 61 - vtkChartsCoreCxx-TestChartDoubleColors (Failed) 1>?? ? 62 - vtkChartsCoreCxx-TestChartMatrix (Failed) 1>?? ? 65 - vtkChartsCoreCxx-TestChartsOn3D (Failed) 1>?? ? 68 - vtkChartsCoreCxx-TestContext (Failed) 1>?? ? 81 - vtkChartsCoreCxx-TestLegendHiddenPlots (Failed) 1>?? ? 87 - vtkChartsCoreCxx-TestLinePlot2 (Failed) 1>?? ? 88 - vtkChartsCoreCxx-TestLinePlotInteraction (Failed) 1>?? ? 97 - vtkChartsCoreCxx-TestPlotMatrix (Failed) 1>?? ?100 - vtkChartsCoreCxx-TestScatterPlot (Failed) 1>?? ?102 - vtkChartsCoreCxx-TestScatterPlotMatrixVehicles (Failed) 1>?? ?103 - vtkChartsCoreCxx-TestScatterPlotMatrixVisible (Failed) 1>?? ?104 - vtkChartsCoreCxx-TestScientificPlot (Failed) 1>?? ?1186 - vtkRenderingOpenGL2Cxx-TestSpherePoints (Failed) 1>?? ?1187 - vtkRenderingOpenGL2Cxx-TestSphereVertex (Failed) 1>?? ?1220 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeeling (Failed) 1>?? ?1221 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingBlendModes (Failed) 1>?? ?1222 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingClip (Failed) 1>?? ?1223 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingOpaque (Failed) 1>?? ?1224 - vtkRenderingVolumeCxx-TestGPURayCastDepthPeelingTransVol (Failed) With respect to vtkChartsCoreCxx and?vtkRenderingOpenGL2Cxx the failures all exhibit the same feature - no points/verticies. I have attached images to illustrate the problem. I don't know if it is relevant, but I noticed an inability to display points in SalomE (which uses VTK for displaying meshes) many years ago after switching from a desktop machine with a Nvidia graphics card to a laptop with a Radeon graphics card. I always assumed the bug was in SalomE, but it might be this failure in VTK itself. Todd Martin, PhD. Freelance Engineer/Software Architect. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. -- Ken Martin PhDDistinguished Engineer Kitware Inc. 101 East Weaver Street Carrboro, North Carolina 27510 USA This communication,including all attachments, contains confidential and legally privilegedinformation, and it is intended only for the use of the addressee.? Access to this email by anyone else isunauthorized. If you are not the intended recipient, any disclosure, copying,distribution or any action taken in reliance on it is prohibited and may beunlawful. If you received this communication in error please notify usimmediately and destroy the original message.?Thank you. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=vtk-developers Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/vtk-developers -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 1530057312076blob.jpg Type: image/png Size: 27066 bytes Desc: not available URL: From dave.demarle at kitware.com Wed Jun 27 11:45:29 2018 From: dave.demarle at kitware.com (David E DeMarle) Date: Wed, 27 Jun 2018 11:45:29 -0400 Subject: [vtk-developers] Announce: Kitware is hiring Message-ID: Folks, If you enjoy working with VTK/ParaView/VTK-m and tools like these and love programming, why not be a part of the team? We are looking to hire visualization developers to our Scientific Computing team. If you are a talented visualization researcher and developer with strong C++ skills, please consider applying. You will join a great team and work on many interesting and challenging technical problems. Here is the job posting [1]. For a complete listing of open positions, checkout jobs.kitware.com [2] [1] https://hire.withgoogle.com/public/jobs/kitwarecom/view/P_AAAAAADAAADKG9Ea3a6iiv [2] https://jobs.kitware.com/ David E DeMarle Kitware, Inc. Principal Engineer 21 Corporate Drive Clifton Park, NY 12065-8662 Phone: 518-881-4909 -------------- next part -------------- An HTML attachment was scrubbed... URL: