示例#1
0
    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__()
        KbeObject.__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)
        #self.graphic   = GraphicCurve(self)

        # GeomLProp object
        self._curvature = None
示例#2
0
    def __init__(self, x,y,z):
        """Constructor for KbeVertex"""
        KbeObject.__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)
示例#3
0
    def __init__(self, x, y, z):
        """Constructor for KbeVertex"""
        KbeObject.__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)
示例#4
0
 def __init__(self, x,y,z):
     """Constructor for KbeVertex"""
     gp_Pnt.__init__(self, x,y,z)
     KbeObject.__init__(self,
                        #name='Vertex #{0} {1},{2},{3}'.format(self._n,  self.x, self.y, self.z)
                        name='Vertex #{0}'.format(self._n)
                             )
     self._n += 1 # should be a property of KbeObject
示例#5
0
    def __init__(self, face):
        '''
        '''
        KbeObject.__init__(self, name='face')
        # TopoDS_Face inheritance
        TopoDS_Face.__init__(self)
        self.TShape(face.TShape())
        self.Location(face.Location())
        self.Orientation(face.Orientation())

        # 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()
示例#6
0
 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__()
     KbeObject.__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()
示例#7
0
    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__()
        KbeObject.__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)
示例#8
0
    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__()
        KbeObject.__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.DressUp = DressUp(self)
        self._n += 1
示例#9
0
    def __init__(self, edge):
        assert isinstance(edge, TopoDS_Edge), 'need a TopoDS_Edge, got a %s' % edge.__class__
        KbeObject.__init__(self, 'edge')
        TopoDS_Edge.__init__(self, edge)

        # 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)
        #self.graphic   = GraphicCurve(self)

        # GeomLProp object
        self._curvature = None
示例#10
0
 def __init__(self, solid):
     KbeObject.__init__(name='solid')
     TopoDS_Solid.__init__(self, solid)
     self.GlobalProperties = GlobalProperties(self)
     self.DressUp = DressUp(self)
示例#11
0
 def __init__(self, shell):
     KbeObject.__init__(self, name='Shell #{0}'.format(self._n))
     TopoDS_Shell.__init__(self, shell)
     self.GlobalProperties = GlobalProperties(self)
     self.DressUp = DressUp(self)
     self._n += 1
示例#12
0
 def __init__(self, shell):
     KbeObject.__init__(self, name='Shell #{0}'.format(self._n))
     TopoDS_Shell.__init__(self, shell)
     self.GlobalProperties = GlobalProperties(self)
     self.DressUp = DressUp(self)
     self._n += 1
示例#13
0
 def __init__(self, wire):
     '''
     '''
     assert isinstance(wire, TopoDS_Wire), 'need a TopoDS_Wire, got a %s' % wire.__class__
     KbeObject.__init__(self, 'wire')
     TopoDS_Wire.__init__(self, wire)
示例#14
0
    def __init__(self, face):
        """
        """
        assert isinstance(face, TopoDS_Face), "need a TopoDS_Face, got a %s" % edge.__class__
        assert not face.IsNull()
        super(Face, self).__init__()
        KbeObject.__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()