[vtkusers] Hacer cortes y/o secciones

Marcelino Rodriguez Cancio marcelinorc at uclv.edu.cu
Wed Oct 17 09:05:56 EDT 2012


Yunier:

En la medida de lo posible escribe en inglés. Si no los yumas no te hacen caso pq no te entienden.  ;). Aquí una modificación del BoxWidget.tcl en la carpeta Examples\GUI\Tcl. Creo que hace lo que quieres:

Here is a modification of the BoxWidget.tcl in the Examples\GUI\Tcl folder. I think it does something like U want:

package require vtk
package require vtkinteraction

# This does the actual work: updates the vtkPlanes implicit function.
# This in turn causes the pipeline to update.
proc SelectPolygons {} {
   boxWidget GetPlanes planes
   selectActor VisibilityOn
}

# Demonstrate how to use the vtkBoxWidget 3D widget,
# This script uses a 3D box widget to define a "clipping box" to clip some
# simple geometry (a mace). Make sure that you hit the "W" key to activate the widget.

# Create a mace out of filters.
#
vtkSphereSource sphere
vtkConeSource cone
vtkGlyph3D glyph
    glyph SetInputConnection [sphere GetOutputPort]
    glyph SetSource [cone GetOutput]
    glyph SetVectorModeToUseNormal
    glyph SetScaleModeToScaleByVector
    glyph SetScaleFactor 0.25

# The sphere and spikes are appended into a single polydata. This just makes things
# simpler to manage.
vtkAppendPolyData apd
    apd AddInput [glyph GetOutput]
    apd AddInput [sphere GetOutput]
vtkPolyDataMapper maceMapper
    maceMapper SetInputConnection [apd GetOutputPort]
vtkLODActor maceActor
    maceActor SetMapper maceMapper
    maceActor VisibilityOn

# This portion of the code clips the mace with the vtkPlanes implicit function.
# The clipped region is colored green.
vtkPlanes planes
vtkClipPolyData clipper
    clipper SetInputConnection [apd GetOutputPort]
    clipper SetClipFunction planes
    clipper InsideOutOn
vtkPolyDataMapper selectMapper
    selectMapper SetInputConnection [clipper GetOutputPort]
vtkLODActor selectActor
    selectActor SetMapper selectMapper
    [selectActor GetProperty] SetColor 0 1 0
    selectActor VisibilityOff
    selectActor SetScale 1.01 1.01 1.01

# Create the RenderWindow, Renderer and both Actors
#
vtkRenderer ren1
vtkRenderWindow renWin
    renWin AddRenderer ren1

vtkRenderWindowInteractor iren
    iren SetRenderWindow renWin

# The SetInteractor method is how 3D widgets are associated with the render
# window interactor. Internally, SetInteractor sets up a bunch of callbacks
# using the Command/Observer mechanism (AddObserver()).
vtkBoxWidget boxWidget
    boxWidget SetInteractor iren
    boxWidget SetPlaceFactor 1.25

#ren1 AddActor maceActor
ren1 AddActor selectActor
boxWidget GetPlanes planes
selectActor VisibilityOn

# Add the actors to the renderer, set the background and size
#
ren1 SetBackground 0.1 0.2 0.4
renWin SetSize 300 300

# Place the interactor initially. The input to a 3D widget is used to
# initially position and scale the widget. The EndInteractionEvent is
# observed which invokes the SelectPolygons callback.
boxWidget SetInput [glyph GetOutput]
boxWidget PlaceWidget
boxWidget AddObserver EndInteractionEvent SelectPolygons
boxWidget On
# render the image
#
iren AddObserver UserEvent {wm deiconify .vtkInteract}
iren Initialize

SelectPolygons

# prevent the tk window from showing up then start the event loop
wm withdraw .


Regards
Marcelino


-----Mensaje original-----
De: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] En nombre de yunier0525
Enviado el: martes, 16 de octubre de 2012 13:41
Para: vtkusers at vtk.org
Asunto: [vtkusers] Hacer cortes y/o secciones

Necesito encontrar la forma de hacer cortes personalizados en lo que estoy visualizando en un momento dado.
Es decir quiero visualizar solo algunas secciones de los objetos en escena, ya trate de hacerlo con vtkClipPolyData pero solo me sirve para cortar o seccionar uno o más objetos pero solo con una función para el clipping por ejemplo con un vtkPlane.

Si alguien puede ayudarme por favor lo agradecería mucho.
Gracias.



--
View this message in context: http://vtk.1045678.n5.nabble.com/Hacer-cortes-y-o-secciones-tp5716673.html
Sent from the VTK - Users mailing list archive at Nabble.com.
_______________________________________________
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

La Universidad Central "Marta Abreu" de Las Villas en su 60 Aniversario. Fundada el 30 de noviembre de 1952. Visítenos en:  http://www.uclv.edu.cu



La Universidad Central "Marta Abreu" de Las Villas en su 60 Aniversario. Fundada el 30 de noviembre de 1952. Visítenos en:  http://www.uclv.edu.cu




More information about the vtkusers mailing list