Created
March 19, 2017 12:07
-
-
Save aosterthun/809144c53556f400b9f4039b7d255c5c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
### import guacamole libraries | |
import avango | |
import avango.gua | |
import avango.script | |
from avango.script import field_has_changed | |
class Cube(): | |
_color = avango.gua.Vec4(1,1,1,1) | |
_name = "" | |
_geometry = None | |
## constructor | |
def __init__(self, Size, Name): | |
self._name = Name | |
_loader = avango.gua.nodes.TriMeshLoader() | |
self._geometry = _loader.create_geometry_from_file(self._name, "data/objects/cube.obj", avango.gua.LoaderFlags.DEFAULTS | avango.gua.LoaderFlags.MAKE_PICKABLE) | |
def delete(self): | |
pass | |
def get_color(self): | |
return self._color | |
def set_color(self, color): | |
self._color = color | |
self._geometry.Material.value.set_uniform("Color", self._color) | |
def get_geometry(self): | |
return self._geometry | |
def highlight_on(self): | |
self._geometry.Material.value.set_uniform("Color", avango.gua.Vec4(1,0,0,1)) | |
def highlight_off(self): | |
self._geometry.Material.value.set_uniform("Color", self._color) | |
def translate(self,x,y,z): | |
self._geometry.Transform.value *= avango.gua.make_trans_mat(x,y,z) | |
return self | |
def scale(self,x,y,z): | |
self._geometry.Transform.value *= avango.gua.make_scale_mat(x,y,z) | |
return self | |
def rotate(self,deg,x,y,z): | |
self._geometry.Transform.value *= avango.gua.make_rot_mat(deg,x,y,z) | |
return self | |
def get_translate(self): | |
return self._geometry.Transform.value.get_translate() | |
def get_scale(self): | |
return self._geometry.Transform.value.get_scale() | |
def get_rotation(self): | |
return self._geometry.Transform.value.get_rotate() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment