def __init__(self, id, color, xmlnode=None): """Create a new sun light. :Parameters: id Id for the object color Light color xmlnode If load form xml, the xml node """ self.id = id """Id in the light library.""" # TODO: check if this is actually the initial direction self.direction = numpy.array([0, 0, 1], dtype=numpy.float32) """Incoming direction of the light.""" self.color = color """Light color.""" if xmlnode != None: self.xmlnode = xmlnode else: self.xmlnode = E.light( E.technique_common(E.directional(E.color(" ".join([str(v) for v in self.color])))), id=self.id, name=self.id, )
def __init__(self, id, color, xmlnode = None): """Create a new directional light. :param str id: A unique string identifier for the light :param tuple color: Either a tuple of size 3 containing the RGB color value of the light or a tuple of size 4 containing the RGBA color value of the light :param xmlnode: If loaded from xml, the xml node """ self.id = id """The unique string identifier for the light""" self.direction = numpy.array( [0, 0, -1], dtype=numpy.float32 ) #Not documenting this because it doesn't make sense to set the direction # of an unbound light. The direction isn't set until binding in a scene. self.color = color """Either a tuple of size 3 containing the RGB color value of the light or a tuple of size 4 containing the RGBA color value of the light""" if xmlnode != None: self.xmlnode = xmlnode """ElementTree representation of the light.""" else: self.xmlnode = E.light( E.technique_common( E.directional( E.color(' '.join(map(str, self.color))) ) ) , id=self.id, name=self.id)