def __init__(self, edge): assert isinstance( edge, TopoDS_Edge), 'need a TopoDS_Edge, got a %s' % edge.__class__ assert not edge.IsNull() super(Edge, self).__init__() BaseObject.__init__(self, 'edge') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(edge.TShape()) self.Location(edge.Location()) self.Orientation(edge.Orientation()) assert not self.IsNull() # tracking state self._local_properties_init = False self._curvature_init = False self._geometry_lookup_init = False self._curve_handle = None self._curve = None self._adaptor = None self._adaptor_handle = None # instantiating cooperative classes # cooperative classes are distinct through CamelCaps from # normal method -> pep8 self.DiffGeom = DiffGeomCurve(self) self.Intersect = IntersectCurve(self) self.Construct = ConstructFromCurve(self) # GeomLProp object self._curvature = None
def __init__(self, edge): assert isinstance(edge, TopoDS_Edge), 'need a TopoDS_Edge, got a %s' % edge.__class__ assert not edge.IsNull() super(Edge, self).__init__() BaseObject.__init__(self, 'edge') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(edge.TShape()) self.Location(edge.Location()) self.Orientation(edge.Orientation()) assert not self.IsNull() # tracking state self._local_properties_init = False self._curvature_init = False self._geometry_lookup_init = False self._curve_handle = None self._curve = None self._adaptor = None self._adaptor_handle = None # instantiating cooperative classes # cooperative classes are distinct through CamelCaps from # normal method -> pep8 self.DiffGeom = DiffGeomCurve(self) self.Intersect = IntersectCurve(self) self.Construct = ConstructFromCurve(self) # GeomLProp object self._curvature = None
def __init__(self, x, y, z): super(Vertex, self).__init__() """Constructor for KbeVertex""" BaseObject.__init__(self, name='Vertex #{0}'.format(self._n)) self._n += 1 # should be a property of KbeObject self._pnt = gp_Pnt(x, y, z) self._vertex = make_vertex(self._pnt) TopoDS_Vertex.__init__(self, self._vertex)
def __init__(self, solid): assert isinstance(solid, TopoDS_Solid), 'need a TopoDS_Solid, got a %s' % solid.__class__ assert not solid.IsNull() super(Solid, self).__init__() BaseObject.__init__(self, 'solid') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(solid.TShape()) self.Location(solid.Location()) self.Orientation(solid.Orientation()) assert not self.IsNull() self.GlobalProperties = GlobalProperties(self)
def __init__(self, wire): ''' ''' assert isinstance(wire, TopoDS_Wire), 'need a TopoDS_Wire, got a %s' % wire.__class__ assert not wire.IsNull() super(Wire, self).__init__() BaseObject.__init__(self, 'wire') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(wire.TShape()) self.Location(wire.Location()) self.Orientation(wire.Orientation()) assert not self.IsNull()
def __init__(self, shell): assert isinstance(shell, TopoDS_Shell), 'need a TopoDS_Shell, got a %s' % shell.__class__ assert not shell.IsNull() super(Shell, self).__init__() BaseObject.__init__(self, 'shell') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(shell.TShape()) self.Location(shell.Location()) self.Orientation(shell.Orientation()) assert not self.IsNull() self.GlobalProperties = GlobalProperties(self) self._n += 1
def __init__(self, wire): ''' ''' assert isinstance( wire, TopoDS_Wire), 'need a TopoDS_Wire, got a %s' % wire.__class__ assert not wire.IsNull() super(Wire, self).__init__() BaseObject.__init__(self, 'wire') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(wire.TShape()) self.Location(wire.Location()) self.Orientation(wire.Orientation()) assert not self.IsNull()
def __init__(self, solid): assert isinstance( solid, TopoDS_Solid), 'need a TopoDS_Solid, got a %s' % solid.__class__ assert not solid.IsNull() super(Solid, self).__init__() BaseObject.__init__(self, 'solid') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(solid.TShape()) self.Location(solid.Location()) self.Orientation(solid.Orientation()) assert not self.IsNull() self.GlobalProperties = GlobalProperties(self)
def __init__(self, shell): assert isinstance( shell, TopoDS_Shell), 'need a TopoDS_Shell, got a %s' % shell.__class__ assert not shell.IsNull() super(Shell, self).__init__() BaseObject.__init__(self, 'shell') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(shell.TShape()) self.Location(shell.Location()) self.Orientation(shell.Orientation()) assert not self.IsNull() self.GlobalProperties = GlobalProperties(self) self._n += 1
def __init__(self, face): ''' ''' assert isinstance(face, TopoDS_Face), 'need a TopoDS_Face, got a %s' % face.__class__ assert not face.IsNull() super(Face, self).__init__() BaseObject.__init__(self, 'face') # we need to copy the base shape using the following three # lines assert self.IsNull() self.TShape(face.TShape()) self.Location(face.Location()) self.Orientation(face.Orientation()) assert not self.IsNull() # cooperative classes self.DiffGeom = DiffGeomSurface(self) # STATE; whether cooperative classes are yet initialized self._curvature_initiated = False self._geometry_lookup_init = False #=================================================================== # properties #=================================================================== self._h_srf = None self._srf = None self._adaptor = None self._adaptor_handle = None self._classify_uv = None # cache the u,v classifier, no need to rebuild for every sample self._topo = None # aliasing of useful methods def is_u_periodic(self): return self.adaptor.IsUPeriodic() def is_v_periodic(self): return self.adaptor.IsVPeriodic() def is_u_closed(self): return self.adaptor.IsUClosed() def is_v_closed(self): return self.adaptor.IsVClosed() def is_u_rational(self): return self.adaptor.IsURational() def is_v_rational(self): return self.adaptor.IsVRational() def u_degree(self): return self.adaptor.UDegree() def v_degree(self): return self.adaptor.VDegree() def u_continuity(self): return self.adaptor.UContinuity() def v_continuity(self): return self.adaptor.VContinuity()