[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