[vtkusers] [VTK] Building a custom oriented arrow

Jon Haitz Legarreta jhlegarreta at vicomtech.org
Mon Jun 9 03:11:23 EDT 2014


Bill,
sorry for the delay in the testing and answer.

Worked like a charm.

So, yes, doing all the manipulation in the arrow source's coordinate system
and using the vtkAppendPolyData filter indeed makes the trick.

THANKS,
JON HAITZ




On 2 May 2014 17:26, Bill Lorensen <bill.lorensen at gmail.com> wrote:

> Jon,
>
> Here is code that creates a composite arrow. Notice that all model
> manipulation is done in the arrow source's coordinate system.
>
> After a bit of cleanup, I'll add this as a new wiki example.
>
> Bill
>
>
>
> On Fri, May 2, 2014 at 9:13 AM, Jon Haitz Legarreta <
> jhlegarreta at vicomtech.org> wrote:
>
>> Bill,
>> thanks for the suggestion. I'll try to follow the advice and create it
>> that way.
>>
>> On the other hand, D.Doria also pointed some geometry issue; the "middle"
>> sphere was to be located at 1/3 from the startPoint, and the right location
>> for that is:
>>
>>   midPoint[i] = startPoint[i] + (endPoint[i] - startPoint[i]) /3;
>>
>> instead of what I was using.
>>
>> So thanks both of you for having taken some time to help.
>>
>> Kind regards,
>> JON HAITZ
>>
>>
>>  On 2 May 2014 15:02, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>
>>> This seems a bit too complicated. Think of the "custom" arrow as a
>>> single model. Create the model in the original normalized space of the
>>> arrow source. "Build" your model components, place them in the space and
>>> compose them into a single polydata using the append polydata filter. Then
>>> apply the the transforms of the example to the single polydata. Colors can
>>> be assigned to the individual components of the custom arrow by setting the
>>> cell data of each component.
>>>
>>> It will take a bit of fiddling to get the initial model correct. But
>>> then it should be easily transformable.
>>>
>>>
>>>
>>> On Fri, May 2, 2014 at 2:46 AM, Jon Haitz Legarreta <
>>> jhlegarreta at vicomtech.org> wrote:
>>>
>>>> Hi there,
>>>> I'm trying to build a custom oriented arrow based upon the
>>>> OrientedArrow example [1]. However, I seem not to be doing it right.
>>>>
>>>> I'm trying to set a sphere in the middle of the arrow, as well as two
>>>> orthogonal lines centered at that point.
>>>>
>>>> The sphere is not located in the middle of the arrow, and the lines,
>>>> even if orthogonal do not cross in the center of the sphere.
>>>>
>>>> I guess it has to do with the transformations (scale and rotation), but
>>>> cannot make head or tails of it.
>>>>
>>>> On the other hand, I cannot guess how to center the point where the
>>>> lines cross at the center of the sphere.
>>>>
>>>> When the arrow's head and base are not random, but defined with some
>>>> known values, it seems to work well.
>>>>
>>>> Attached, the screenshots of the attempt, the version with some known
>>>> points (which seems to be OK), and the corresponding .cxx and
>>>> CMakeLists.txt.
>>>>
>>>> Thanks,
>>>> JON HAITZ
>>>>
>>>> [1]
>>>> http://www.vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/OrientedArrow
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>
>>>>
>>>
>>>
>>> --
>>> Unpaid intern in BillsBasement at noware dot com
>>>
>>
>>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140609/a25e4a44/attachment.html>


More information about the vtkusers mailing list