[Bf-extensions-cvs] [5faeb018] master: Fix first part of T50362: Needless global declarations
lijenstina
noreply at git.blender.org
Sun Jan 8 16:41:59 CET 2017
Commit: 5faeb018dadb615abac6daddcdc44433212c9d78
Author: lijenstina
Date: Sun Jan 8 16:40:13 2017 +0100
Branches: master
https://developer.blender.org/rBAC5faeb018dadb615abac6daddcdc44433212c9d78
Fix first part of T50362: Needless global declarations
Globals were needlesly declared several times
instead of once per function
Pep8 cleanup of the two files
init.py had a tab mixed in
Remove unused imports
This commit should fix the global warning
To fix the unregister part add_curve_simple.py will be removed
since it is already included in the Curve Tools 2
That'll come with the second part of the fix
===================================================================
M curve_tools/CurveIntersections.py
M curve_tools/__init__.py
===================================================================
diff --git a/curve_tools/CurveIntersections.py b/curve_tools/CurveIntersections.py
index 8affa8d0..f9ed7aa2 100644
--- a/curve_tools/CurveIntersections.py
+++ b/curve_tools/CurveIntersections.py
@@ -1,11 +1,9 @@
+import bpy
from . import Math
from . import Curves
from . import Util
-from mathutils import *
-
-import bpy
-
+from mathutils import Vector
algoPOV = None
algoDIR = None
@@ -16,384 +14,433 @@ class BezierSegmentIntersectionPoint:
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 == '3D':
+ return self.CalcFirstRealIntersection3D(nrSamples1, nrSamples2)
+
if algorithm == 'From View':
global algoDIR
- if not algoDIR is None: return self.CalcFirstRealIntersectionFromViewDIR(nrSamples1, nrSamples2)
-
+ if algoDIR is not None:
+ return self.CalcFirstRealIntersectionFromViewDIR(nrSamples1, nrSamples2)
+
global algoPOV
- if not algoPOV is None: return self.CalcFirstRealIntersectionFromViewPOV(nrSamples1, nrSamples2)
-
+ 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)
-
+ 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)
-
+ 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
-
+ if intersectionPointData is None:
+ continue
+
intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / fltNrSamples1)
- intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1, intersectionSegment1Parameter, intersectionPointData[2])
-
+ intersectionPoint1 = BezierSegmentIntersectionPoint(self.segment1,
+ intersectionSegment1Parameter,
+ intersectionPointData[2])
+
intersectionSegment2Parameter = segPar20 + (intersectionPointData[1] / fltNrSamples2)
- intersectionPoint2 = BezierSegmentIntersectionPoint(self.segment2, intersectionSegment2Parameter, intersectionPointData[3])
-
+ 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)
-
+ 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)
-
+ 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
-
+ 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)):
+ 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)
-
+ 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)):
+ 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)
-
+ 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)
-
+ 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)
-
+ 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
-
+ if intersectionPointData is None:
+ continue
+
intersectionSegment1Parameter = segPar10 + (intersectionPointData[0] / f
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list