WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 08-27-2007, 10:10 AM
shivanangel shivanangel is offline
Member
 
Join Date: Feb 2006
Location: New Jersey
Posts: 182
You might need this class as well, it isn't implemented, but I think the Element class has some calls to it, so better safe than sorry:

Code:
#######################################################
## Created By: George Lecakes
## Purpose: 
##		The Visualizer class is meant as a container
##		to hold the model information as well as what
##		to do when the user selected an object.
##
##	Requirements:
##		This class requires a timer to check
##		for onMouseOver events. 
##
## Date Created: August 13, 2007
##		Created the class.
##
#######################################################

import viz
import vizact
import vizinfo

class Visualizer:
	def __init__(self):
	#Initialize Variables
		#Sets the model for this instance.
		self.model = viz.add('testSphere.OSG')
		#Set the model coordinates
		self.coords = [0,0,0]
		#Set the model scale
		self.scale = [1,1,1]
		#Is the object Moused Over?
		self.isMousedOver = 0
		#Is this object selected or not?
		self.isSelected = 0
		#sets the base alpha state
		self.alpha = 0.5
		#sets the base gamma state
		self.ambient = [1,1,1]
		#Set the gamma when onMouseOver
		self.overambient = [2,2,2]
		#Set the color of the selected item
		self.selectedColor = [0,1,0]
		#Event when mouse is over an object
		self.MouseOverObject = vizact.fade([1,1,1],[0.5,0.5,0.5],0.25)
		#Event when mouse is selecting an object
		self.MouseSelectObject = vizact.fade([1,1,1],[0,1,0],0.25)
		#Event when mouse is not selecting object
		self.noMouseSelectObject = vizact.fade([0,1,0],[0.5,0.5,0.5],0.25)

	def overObject(self):
		self.item = viz.pick(1)
		
		# If the mouse if moving over the instance and it is not selected
		if self.item.object == self.model and self.isMousedOver == 0 and self.isSelected == 0:
			self.isMousedOver = 1
			self.model.runAction(self.MouseOverObject)
		# If the mouse if not over the instance
		else:
			self.isMousedOver = 0
		#If the mouse if over the object, it is not selected and it is left clicked
		if self.item.object == self.model and self.isMousedOver == 1 and viz.mouse.getState() == viz.MOUSEBUTTON_LEFT and self.isSelected == 0:
			self.isSelected = 1
			self.model.runAction(self.MouseSelectObject)
		#If the mouse is not over the object, it is selected, and there is a left click
		if self.item.object != self.model and self.isMousedOver == 0 and viz.mouse.getState() == viz.MOUSEBUTTON_LEFT and self.isSelected == 1:
			self.isSelected = 0
			self.model.runAction(self.noMouseSelectObject)
		#If the object is not selected, the object is not selected, and there is a left click
		if self.item.object != self.model and self.isMousedOver == 0 and viz.mouse.getState() == viz.MOUSEBUTTON_LEFT and self.isSelected == 0:
			self.isSelected = 0


	#def selectObject(self, num):
Thanks!

George Lecakes
Rowan University
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 01:03 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC