Exemplo n.º 1
0
class Half(Primitive):
    def __init__(self, name, norm=(1, 0, 0), d=1.0, plane=None, copy=False):
        Primitive.__init__(self, name=name)
        if plane is not None:
            self.plane = plane
        else:
            self.plane = Plane(Vector(norm), d, copy=copy)

    def __repr__(self):
        result = "{}({}, Plane={})"
        return result.format(self.__class__.__name__, self.name,
                             repr(self.plane))

    def update_params(self, params):
        params.update({"norm": self.plane.normal, "d": self.plane.distance})

    def copy(self):
        return Half(self.name,
                    self.plane.normal,
                    self.plane.distance,
                    copy=True)

    def has_same_data(self, other):
        return self.plane.is_same(other.plane)

    @staticmethod
    def from_wdb(name, data):
        plane = cta.plane_from_pointer(data.eqn)
        return Half(name=name, plane=plane)
Exemplo n.º 2
0
class Half(Primitive):

    def __init__(self, name, norm=(1, 0, 0), d=1.0, plane=None, copy=False):
        Primitive.__init__(self, name=name)
        if plane is not None:
            self.plane = plane
        else:
            self.plane = Plane(Vector(norm), d, copy=copy)

    def __repr__(self):
        result = "{}({}, Plane={})"
        return result.format(
            self.__class__.__name__, self.name, repr(self.plane)
        )

    def update_params(self, params):
        params.update({
            "norm": self.plane.normal,
            "d": self.plane.distance
        })

    def copy(self):
        return Half(self.name, self.plane.normal, self.plane.distance, copy=True)

    def has_same_data(self, other):
        return self.plane.is_same(other.plane)


    @staticmethod
    def from_wdb(name, data):
        plane = cta.plane_from_pointer(data.eqn)
        return Half(
            name=name,
            plane=plane
        )
Exemplo n.º 3
0
 def __init__(self, name, planes, copy=False):
     Primitive.__init__(self, name=name)
     self.planes = [Plane.wrap(x, copy=copy) for x in planes]
Exemplo n.º 4
0
 def __init__(self, name, norm=(1, 0, 0), d=1.0, plane=None, copy=False):
     Primitive.__init__(self, name=name)
     if plane is not None:
         self.plane = plane
     else:
         self.plane = Plane(Vector(norm), d, copy=copy)
Exemplo n.º 5
0
def plane_from_pointer(t):
    normal = [t[x] for x in range(3)]
    distance = t[3]
    return Plane(normal, distance)
Exemplo n.º 6
0
 def __init__(self, name, planes, copy=False):
     Primitive.__init__(self, name=name)
     self.planes = [Plane.wrap(x, copy=copy) for x in planes]
Exemplo n.º 7
0
 def __init__(self, name, norm=(1, 0, 0), d=1.0, plane=None, copy=False):
     Primitive.__init__(self, name=name)
     if plane is not None:
         self.plane = plane
     else:
         self.plane = Plane(Vector(norm), d, copy=copy)