|  | 
| 
			 
			#1  
			
			
			
			
			
		 | |||
| 
 | |||
| 
				
				Drawing trajectory of an object
			 
			
			It is possible to attach the pencil tool to an object and draw its trajectory? Or there is a better way to do that?? I'm doing a robot kinematic simulator and I want to display the end effector trajectory | 
| 
			 
			#2  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Yes, you can link the pencil tool to any object. You could either activate the pencil draw command with an input signal (mouse button, keypress, etc.) or have it draw continuously.
		 | 
| 
			 
			#3  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Hi Jeff, thank you for your answer Could you please show me an example of a pencil attached to an object and drawing continuosly? Because I can't make it work properly | 
| 
			 
			#4  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Take a look at the pencil documentation for commands available. The following example script executes the draw command continuously: Code: """  
Right mouse button clears the drawing.  
Middle mouse button changes color.  
Mouse movements control viewpoint orientation.  
Arrow Keys control viewpoint position.  
""" 
import viz
import vizshape
import vizinfo
vizinfo.InfoPanel(align=viz.ALIGN_LEFT_BOTTOM)
viz.setMultiSample(4)
viz.fov(60)
viz.go()
piazza = viz.add('piazza.osgb')
arrow = vizshape.addArrow(length=0.2, color = viz.RED)
from tools import pencil
tool = pencil.Pencil()
# update code for pencil
def update(tool):
	state = viz.mouse.getState()
	if state & viz.MOUSEBUTTON_RIGHT:
		tool.clear()
	elif state & viz.MOUSEBUTTON_MIDDLE:
		tool.cycleColor()
	else:
		tool.draw()
tool.setUpdateFunction(update)
#Link the pencil tool to an arrow  
#Then move the arrow in the reference frame of the viewpoint
from vizconnect.util import virtual_trackers
mouseTracker = virtual_trackers.ScrollWheel(followMouse = True)
mouseTracker.distance = 1
arrowLink = viz.link(mouseTracker,arrow)
arrowLink.postMultLinkable(viz.MainView)
viz.link(arrowLink,tool)
import vizcam
vizcam.FlyNavigate()
#Hide the mouse cursor
viz.mouse.setVisible(viz.OFF) | 
| 
			 
			#5  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Thank you Jeff, but what I can't do is to attach the pencil to an osgb object (in this case the robot end effector), how can I do that? Thank you in advance | 
| 
			 
			#6  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Could you please help me to attach the pencil tool to an osgb object?
		 | 
| 
			 
			#7  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			Have you tried to modify the pencil example code like this: Code: robot=viz.add('your_robot_name.osgb')
...
arrowLink = viz.link(mouseTracker,robot) | 
| 
			 
			#8  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			I've tried it , but if you add mousetracker , I end up drawing with the mouse. What I want is to attach the pencil to the end of the robot and the pencil draw the trajectory of the robot end effector | 
| 
			 
			#9  
			
			
			
			
			
		 | |||
| 
 | |||
| 
			
			You can parent or link the pencil tool to any node in Vizard.
		 | 
|  | 
| 
 | 
 | 
|  Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post | 
| Rotate object around mainView? | performlabrit | Vizard | 3 | 12-19-2013 06:31 AM | 
| How to render a texture of the transparent object and then blur it | whj | Vizard | 1 | 09-25-2012 03:15 PM | 
| AMD graphics hardware seems not to preload object | sleiN13 | Vizard | 2 | 03-20-2012 06:08 AM | 
| retrieve Object names | Geoffrey | Vizard | 11 | 12-11-2009 04:26 AM | 
| rotate to object | jargon | Vizard | 1 | 08-08-2005 12:20 PM |