View Single Post
  #1  
Old 07-18-2009, 05:49 AM
Chrissy2009 Chrissy2009 is offline
Member
 
Join Date: May 2009
Posts: 33
Exclamation Create line and vertex

Hello,

I want to draw a line with my mouse. So I made:

Code:
def drawLine():	
	global tmpnumber
	
	while tmpnumber == 0:
		yield viztask.waitMouseDown(viz.MOUSEBUTTON_LEFT)
		
		tmpMousePOS = viz.screentoworld(viz.Mouse.getPosition())
		tmpMousePOS.length = 0
		pos = tmpMousePOS.end
		
		viz.startlayer(viz.LINES)
		viz.linewidth(10)
		viz.vertexcolor(viz.BLACK)
		viz.vertex(pos[0],pos[1],0)
		viz.vertex(pos[0],pos[1],0)
		line = viz.endlayer()
		
		VertexLink = viz.link(viz.Mouse,line.Vertex(1))
		
		yield viztask.waitMouseUp(viz.MOUSEBUTTON_LEFT)
		VertexLink.remove()
		
		tmpnumber += 1

task = viztask.schedule( drawLine() )
But the line is not at the mouse position. It looks like the proportion is wrong.
Can somebody help me?

I want to draw a line with my mouse. Not at the screen, but in the world.

If I made this:

Code:
def drawLine():	
	global tmpnumber
	while tmpnumber <= 1:
		yield viztask.waitMouseDown(viz.MOUSEBUTTON_LEFT)
		
		pos = viz.mouse.getPosition()
		
		viz.startlayer(viz.LINES)
		viz.linewidth(3)
		viz.vertexcolor(viz.BLACK)
		viz.vertex(pos[0],pos[1],0)
		viz.vertex(pos[0],pos[1],0)
		line = viz.endlayer(parent=viz.SCREEN)
		
		VertexLink = viz.link(viz.Mouse,line.Vertex(1))
		
		yield viztask.waitMouseUp(viz.MOUSEBUTTON_LEFT)
		VertexLink.remove()
		
		tmpnumber += 1
than it works. The line is exactly at the mouseposition. But I want to draw the line in the world with an given z-value; for example at z = 10.


And how can I create at the begin and end of the line an vertex point?

Thanks an lot!!
Reply With Quote