[Bf-extensions-cvs] [c6007c26] master: Curve Tools 2: move to release T65825

Spivak Vladimir cwolf3d noreply at git.blender.org
Fri Sep 13 15:04:05 CEST 2019


Commit: c6007c26d389da1738173fd52420c0747d281f2b
Author: Spivak Vladimir (cwolf3d)
Date:   Fri Sep 13 16:03:35 2019 +0300
Branches: master
https://developer.blender.org/rBACc6007c26d389da1738173fd52420c0747d281f2b

Curve Tools 2: move to release T65825

===================================================================

D	curve_tools/CurveIntersections.py
D	curve_tools/Curves.py
D	curve_tools/Math.py
D	curve_tools/Operators.py
D	curve_tools/PathFinder.py
D	curve_tools/Properties.py
D	curve_tools/ShowCurveResolution.py
D	curve_tools/Surfaces.py
D	curve_tools/Util.py
D	curve_tools/__init__.py
D	curve_tools/auto_loft.py
D	curve_tools/cad.py
D	curve_tools/curve_outline.py
D	curve_tools/curve_remove_doubles.py
D	curve_tools/exports.py
D	curve_tools/internal.py
D	curve_tools/toolpath.py

===================================================================

diff --git a/curve_tools/CurveIntersections.py b/curve_tools/CurveIntersections.py
deleted file mode 100644
index 06254701..00000000
--- a/curve_tools/CurveIntersections.py
+++ /dev/null
@@ -1,830 +0,0 @@
-import bpy
-from . import Math
-from . import Curves
-from . import Util
-
-from mathutils import Vector
-
-algoPOV = None
-algoDIR = None
-
-
-class BezierSegmentIntersectionPoint:
-    def __init__(self, segment, parameter, intersectionPoint):
-        self.segment = segment
-        self.parameter = parameter
-        self.intersectionPoint = intersectionPoint
-
-
-class BezierSegmentsIntersector:
-    def __init__(self, segment1, segment2, worldMatrix1, worldMatrix2):
-        self.segment1 = segment1
-        self.segment2 = segment2
-        self.worldMatrix1 = worldMatrix1
-        self.worldMatrix2 = worldMatrix2
-
-    def CalcFirstIntersection(self, nrSamples1, nrSamples2):
-        algorithm = bpy.context.scene.curvetools.IntersectCurvesAlgorithm
-
-        if algorithm == '3D':
-            return self.CalcFirstRealIntersection3D(nrSamples1, nrSamples2)
-
-        if algorithm == 'From View':
-            global algoDIR
-            if algoDIR is not None:
-                return self.CalcFirstRealIntersectionFromViewDIR(nrSamples1, nrSamples2)
-
-            global algoPOV
-            if algoPOV is not None:
-                return self.CalcFirstRealIntersectionFromViewPOV(nrSamples1, nrSamples2)
-
-        return None
-
-    def CalcFirstIntersection3D(self, nrSamples1, nrSamples2):
-        fltNrSamples1 = float(nrSamples1)
-        fltNrSamples2 = float(nrSamples2)
-
-        limitDistance = bpy.context.scene.curvetools.LimitDistance
-
-        for iSample1 in range(nrSamples1):
-            segPar10 = float(iSample1) / fltNrSamples1
-            segPar11 = float(iSample1 + 1) / fltNrSamples1
-            P0 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar10)
-            P1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar11)
-
-            for iSample2 in range(nrSamples2):
-                segPar20 = float(iSample2) / fltNrSamples2
-                segPar21 = float(iSample2 + 1) / fltNrSamples2
-                Q0 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar20)
-                Q1 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar21)
-
-                intersectionPointData = Math.CalcIntersectionPointLineSegments(P0, P1, Q0, Q1, limitDistance)
-                if intersectionPointData is None:
-                    continue
-
-                intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / fltNrSamples1)
-                intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1,
-                                                                    intersectionSegment1Parameter,
-                                                                    intersectionPointData[2])
-
-                intersectionSegment2Parameter = segPar20 + (intersectionPointData[1] / fltNrSamples2)
-                intersectionPoint2 = BezierSegmentIntersectionPoint(self.segment2,
-                                                                    intersectionSegment2Parameter,
-                                                                    intersectionPointData[3])
-
-                return [intersectionPoint1, intersectionPoint2]
-
-        return None
-
-    def CalcFirstRealIntersection3D(self, nrSamples1, nrSamples2):
-        fltNrSamples1 = float(nrSamples1)
-        fltNrSamples2 = float(nrSamples2)
-
-        limitDistance = bpy.context.scene.curvetools.LimitDistance
-
-        for iSample1 in range(nrSamples1):
-            segPar10 = float(iSample1) / fltNrSamples1
-            segPar11 = float(iSample1 + 1) / fltNrSamples1
-            P0 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar10)
-            P1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar11)
-
-            for iSample2 in range(nrSamples2):
-                segPar20 = float(iSample2) / fltNrSamples2
-                segPar21 = float(iSample2 + 1) / fltNrSamples2
-                Q0 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar20)
-                Q1 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar21)
-
-                intersectionPointData = Math.CalcIntersectionPointLineSegments(P0, P1, Q0, Q1, limitDistance)
-                if intersectionPointData is None:
-                    continue
-
-                # intersection point can't be an existing point
-                intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / (fltNrSamples1))
-                worldPoint1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=intersectionSegment1Parameter)
-                if (Math.IsSamePoint(P0, worldPoint1, limitDistance)) or \
-                   (Math.IsSamePoint(P1, worldPoint1, limitDistance)):
-
-                    intersectionPoint1 = None
-                else:
-                    intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1,
-                                                                        intersectionSegment1Parameter,
-                                                                        worldPoint1)
-
-                intersectionSegment2Parameter = segPar20 + (intersectionPointData[1] / (fltNrSamples2))
-                worldPoint2 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=intersectionSegment2Parameter)
-                if (Math.IsSamePoint(Q0, worldPoint2, limitDistance)) or \
-                   (Math.IsSamePoint(Q1, worldPoint2, limitDistance)):
-
-                    intersectionPoint2 = None
-                else:
-                    intersectionPoint2 = BezierSegmentIntersectionPoint(self.segment2,
-                                                                        intersectionSegment2Parameter,
-                                                                        worldPoint2)
-
-                return [intersectionPoint1, intersectionPoint2]
-
-        return None
-
-    def CalcFirstIntersectionFromViewDIR(self, nrSamples1, nrSamples2):
-        global algoDIR
-
-        fltNrSamples1 = float(nrSamples1)
-        fltNrSamples2 = float(nrSamples2)
-
-        for iSample1 in range(nrSamples1):
-            segPar10 = float(iSample1) / fltNrSamples1
-            segPar11 = float(iSample1 + 1) / fltNrSamples1
-            P0 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar10)
-            P1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar11)
-
-            for iSample2 in range(nrSamples2):
-                segPar20 = float(iSample2) / fltNrSamples2
-                segPar21 = float(iSample2 + 1) / fltNrSamples2
-                Q0 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar20)
-                Q1 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar21)
-
-                intersectionPointData = Math.CalcIntersectionPointsLineSegmentsDIR(P0, P1, Q0, Q1, algoDIR)
-                if intersectionPointData is None:
-                    continue
-
-                intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / fltNrSamples1)
-                worldPoint1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=intersectionSegment1Parameter)
-                intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1,
-                                                                    intersectionSegment1Parameter,
-                                                                    worldPoint1)
-
-                intersectionSegment2Parameter = segPar20 + (intersectionPointData[1] / fltNrSamples2)
-                worldPoint2 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=intersectionSegment2Parameter)
-                intersectionPoint2 = BezierSegmentIntersectionPoint(self.segment2,
-                                                                    intersectionSegment2Parameter,
-                                                                    worldPoint2)
-
-                return [intersectionPoint1, intersectionPoint2]
-
-        return None
-
-    def CalcFirstRealIntersectionFromViewDIR(self, nrSamples1, nrSamples2):
-        global algoDIR
-
-        fltNrSamples1 = float(nrSamples1)
-        fltNrSamples2 = float(nrSamples2)
-
-        limitDistance = bpy.context.scene.curvetools.LimitDistance
-
-        for iSample1 in range(nrSamples1):
-            segPar10 = float(iSample1) / fltNrSamples1
-            segPar11 = float(iSample1 + 1) / fltNrSamples1
-            P0 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar10)
-            P1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=segPar11)
-
-            for iSample2 in range(nrSamples2):
-                segPar20 = float(iSample2) / fltNrSamples2
-                segPar21 = float(iSample2 + 1) / fltNrSamples2
-                Q0 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar20)
-                Q1 = self.worldMatrix2 @ self.segment2.CalcPoint(parameter=segPar21)
-
-                intersectionPointData = Math.CalcIntersectionPointsLineSegmentsDIR(P0, P1, Q0, Q1, algoDIR)
-                if intersectionPointData is None:
-                    continue
-
-                # intersection point can't be an existing point
-                intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / (fltNrSamples1))
-                worldPoint1 = self.worldMatrix1 @ self.segment1.CalcPoint(parameter=intersectionSegment1Parameter)
-                if (Math.IsSamePoint(P0, worldPoint1, limitDistance)) or \
-                   (Math.IsSamePoint(P1, worldPoint1, limitDistance)):
-
-                    intersectionPoint1 = None
-                else:
-                    intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1,
-                                                                        intersectionSegment1Parameter,
-                                                                        worldPoint1)
-
-                intersectionSegment2Parameter = segPar20 + (intersectionPointData[1] / (fltNrSamples2))
-            

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list