@@ -36,96 +36,96 @@ TrueDistanceSelector::DistanceType TrueDistanceSelector::distance() const {
3636 return minDistance.distance ;
3737}
3838
39- PseudoDistanceSelectorBase ::EdgeCache::EdgeCache () : absDistance(0 ), aDomainDistance(0 ), bDomainDistance(0 ), aPseudoDistance (0 ), bPseudoDistance (0 ) { }
39+ PerpendicularDistanceSelectorBase ::EdgeCache::EdgeCache () : absDistance(0 ), aDomainDistance(0 ), bDomainDistance(0 ), aPerpendicularDistance (0 ), bPerpendicularDistance (0 ) { }
4040
41- bool PseudoDistanceSelectorBase::getPseudoDistance (double &distance, const Vector2 &ep, const Vector2 &edgeDir) {
41+ bool PerpendicularDistanceSelectorBase::getPerpendicularDistance (double &distance, const Vector2 &ep, const Vector2 &edgeDir) {
4242 double ts = dotProduct (ep, edgeDir);
4343 if (ts > 0 ) {
44- double pseudoDistance = crossProduct (ep, edgeDir);
45- if (fabs (pseudoDistance ) < fabs (distance)) {
46- distance = pseudoDistance ;
44+ double perpendicularDistance = crossProduct (ep, edgeDir);
45+ if (fabs (perpendicularDistance ) < fabs (distance)) {
46+ distance = perpendicularDistance ;
4747 return true ;
4848 }
4949 }
5050 return false ;
5151}
5252
53- PseudoDistanceSelectorBase::PseudoDistanceSelectorBase () : minNegativePseudoDistance (-fabs(minTrueDistance.distance)), minPositivePseudoDistance (fabs(minTrueDistance.distance)), nearEdge(NULL ), nearEdgeParam(0 ) { }
53+ PerpendicularDistanceSelectorBase::PerpendicularDistanceSelectorBase () : minNegativePerpendicularDistance (-fabs(minTrueDistance.distance)), minPositivePerpendicularDistance (fabs(minTrueDistance.distance)), nearEdge(NULL ), nearEdgeParam(0 ) { }
5454
55- void PseudoDistanceSelectorBase ::reset (double delta) {
55+ void PerpendicularDistanceSelectorBase ::reset (double delta) {
5656 minTrueDistance.distance += nonZeroSign (minTrueDistance.distance )*delta;
57- minNegativePseudoDistance = -fabs (minTrueDistance.distance );
58- minPositivePseudoDistance = fabs (minTrueDistance.distance );
57+ minNegativePerpendicularDistance = -fabs (minTrueDistance.distance );
58+ minPositivePerpendicularDistance = fabs (minTrueDistance.distance );
5959 nearEdge = NULL ;
6060 nearEdgeParam = 0 ;
6161}
6262
63- bool PseudoDistanceSelectorBase ::isEdgeRelevant (const EdgeCache &cache, const EdgeSegment *edge, const Point2 &p) const {
63+ bool PerpendicularDistanceSelectorBase ::isEdgeRelevant (const EdgeCache &cache, const EdgeSegment *edge, const Point2 &p) const {
6464 double delta = DISTANCE_DELTA_FACTOR*(p-cache.point ).length ();
6565 return (
6666 cache.absDistance -delta <= fabs (minTrueDistance.distance ) ||
6767 fabs (cache.aDomainDistance ) < delta ||
6868 fabs (cache.bDomainDistance ) < delta ||
69- (cache.aDomainDistance > 0 && (cache.aPseudoDistance < 0 ?
70- cache.aPseudoDistance +delta >= minNegativePseudoDistance :
71- cache.aPseudoDistance -delta <= minPositivePseudoDistance
69+ (cache.aDomainDistance > 0 && (cache.aPerpendicularDistance < 0 ?
70+ cache.aPerpendicularDistance +delta >= minNegativePerpendicularDistance :
71+ cache.aPerpendicularDistance -delta <= minPositivePerpendicularDistance
7272 )) ||
73- (cache.bDomainDistance > 0 && (cache.bPseudoDistance < 0 ?
74- cache.bPseudoDistance +delta >= minNegativePseudoDistance :
75- cache.bPseudoDistance -delta <= minPositivePseudoDistance
73+ (cache.bDomainDistance > 0 && (cache.bPerpendicularDistance < 0 ?
74+ cache.bPerpendicularDistance +delta >= minNegativePerpendicularDistance :
75+ cache.bPerpendicularDistance -delta <= minPositivePerpendicularDistance
7676 ))
7777 );
7878}
7979
80- void PseudoDistanceSelectorBase ::addEdgeTrueDistance (const EdgeSegment *edge, const SignedDistance &distance, double param) {
80+ void PerpendicularDistanceSelectorBase ::addEdgeTrueDistance (const EdgeSegment *edge, const SignedDistance &distance, double param) {
8181 if (distance < minTrueDistance) {
8282 minTrueDistance = distance;
8383 nearEdge = edge;
8484 nearEdgeParam = param;
8585 }
8686}
8787
88- void PseudoDistanceSelectorBase::addEdgePseudoDistance (double distance) {
89- if (distance <= 0 && distance > minNegativePseudoDistance )
90- minNegativePseudoDistance = distance;
91- if (distance >= 0 && distance < minPositivePseudoDistance )
92- minPositivePseudoDistance = distance;
88+ void PerpendicularDistanceSelectorBase::addEdgePerpendicularDistance (double distance) {
89+ if (distance <= 0 && distance > minNegativePerpendicularDistance )
90+ minNegativePerpendicularDistance = distance;
91+ if (distance >= 0 && distance < minPositivePerpendicularDistance )
92+ minPositivePerpendicularDistance = distance;
9393}
9494
95- void PseudoDistanceSelectorBase ::merge (const PseudoDistanceSelectorBase &other) {
95+ void PerpendicularDistanceSelectorBase ::merge (const PerpendicularDistanceSelectorBase &other) {
9696 if (other.minTrueDistance < minTrueDistance) {
9797 minTrueDistance = other.minTrueDistance ;
9898 nearEdge = other.nearEdge ;
9999 nearEdgeParam = other.nearEdgeParam ;
100100 }
101- if (other.minNegativePseudoDistance > minNegativePseudoDistance )
102- minNegativePseudoDistance = other.minNegativePseudoDistance ;
103- if (other.minPositivePseudoDistance < minPositivePseudoDistance )
104- minPositivePseudoDistance = other.minPositivePseudoDistance ;
101+ if (other.minNegativePerpendicularDistance > minNegativePerpendicularDistance )
102+ minNegativePerpendicularDistance = other.minNegativePerpendicularDistance ;
103+ if (other.minPositivePerpendicularDistance < minPositivePerpendicularDistance )
104+ minPositivePerpendicularDistance = other.minPositivePerpendicularDistance ;
105105}
106106
107- double PseudoDistanceSelectorBase ::computeDistance (const Point2 &p) const {
108- double minDistance = minTrueDistance.distance < 0 ? minNegativePseudoDistance : minPositivePseudoDistance ;
107+ double PerpendicularDistanceSelectorBase ::computeDistance (const Point2 &p) const {
108+ double minDistance = minTrueDistance.distance < 0 ? minNegativePerpendicularDistance : minPositivePerpendicularDistance ;
109109 if (nearEdge) {
110110 SignedDistance distance = minTrueDistance;
111- nearEdge->distanceToPseudoDistance (distance, p, nearEdgeParam);
111+ nearEdge->distanceToPerpendicularDistance (distance, p, nearEdgeParam);
112112 if (fabs (distance.distance ) < fabs (minDistance))
113113 minDistance = distance.distance ;
114114 }
115115 return minDistance;
116116}
117117
118- SignedDistance PseudoDistanceSelectorBase ::trueDistance () const {
118+ SignedDistance PerpendicularDistanceSelectorBase ::trueDistance () const {
119119 return minTrueDistance;
120120}
121121
122- void PseudoDistanceSelector ::reset (const Point2 &p) {
122+ void PerpendicularDistanceSelector ::reset (const Point2 &p) {
123123 double delta = DISTANCE_DELTA_FACTOR*(p-this ->p ).length ();
124- PseudoDistanceSelectorBase ::reset (delta);
124+ PerpendicularDistanceSelectorBase ::reset (delta);
125125 this ->p = p;
126126}
127127
128- void PseudoDistanceSelector ::addEdge (EdgeCache &cache, const EdgeSegment *prevEdge, const EdgeSegment *edge, const EdgeSegment *nextEdge) {
128+ void PerpendicularDistanceSelector ::addEdge (EdgeCache &cache, const EdgeSegment *prevEdge, const EdgeSegment *edge, const EdgeSegment *nextEdge) {
129129 if (isEdgeRelevant (cache, edge, p)) {
130130 double param;
131131 SignedDistance distance = edge->signedDistance (p, param);
@@ -143,22 +143,22 @@ void PseudoDistanceSelector::addEdge(EdgeCache &cache, const EdgeSegment *prevEd
143143 double bdd = -dotProduct (bp, (bDir+nextDir).normalize (true ));
144144 if (add > 0 ) {
145145 double pd = distance.distance ;
146- if (getPseudoDistance (pd, ap, -aDir))
147- addEdgePseudoDistance (pd = -pd);
148- cache.aPseudoDistance = pd;
146+ if (getPerpendicularDistance (pd, ap, -aDir))
147+ addEdgePerpendicularDistance (pd = -pd);
148+ cache.aPerpendicularDistance = pd;
149149 }
150150 if (bdd > 0 ) {
151151 double pd = distance.distance ;
152- if (getPseudoDistance (pd, bp, bDir))
153- addEdgePseudoDistance (pd);
154- cache.bPseudoDistance = pd;
152+ if (getPerpendicularDistance (pd, bp, bDir))
153+ addEdgePerpendicularDistance (pd);
154+ cache.bPerpendicularDistance = pd;
155155 }
156156 cache.aDomainDistance = add;
157157 cache.bDomainDistance = bdd;
158158 }
159159}
160160
161- PseudoDistanceSelector ::DistanceType PseudoDistanceSelector ::distance () const {
161+ PerpendicularDistanceSelector ::DistanceType PerpendicularDistanceSelector ::distance () const {
162162 return computeDistance (p);
163163}
164164
@@ -197,28 +197,28 @@ void MultiDistanceSelector::addEdge(EdgeCache &cache, const EdgeSegment *prevEdg
197197 double bdd = -dotProduct (bp, (bDir+nextDir).normalize (true ));
198198 if (add > 0 ) {
199199 double pd = distance.distance ;
200- if (PseudoDistanceSelectorBase::getPseudoDistance (pd, ap, -aDir)) {
200+ if (PerpendicularDistanceSelectorBase::getPerpendicularDistance (pd, ap, -aDir)) {
201201 pd = -pd;
202202 if (edge->color &RED)
203- r.addEdgePseudoDistance (pd);
203+ r.addEdgePerpendicularDistance (pd);
204204 if (edge->color &GREEN)
205- g.addEdgePseudoDistance (pd);
205+ g.addEdgePerpendicularDistance (pd);
206206 if (edge->color &BLUE)
207- b.addEdgePseudoDistance (pd);
207+ b.addEdgePerpendicularDistance (pd);
208208 }
209- cache.aPseudoDistance = pd;
209+ cache.aPerpendicularDistance = pd;
210210 }
211211 if (bdd > 0 ) {
212212 double pd = distance.distance ;
213- if (PseudoDistanceSelectorBase::getPseudoDistance (pd, bp, bDir)) {
213+ if (PerpendicularDistanceSelectorBase::getPerpendicularDistance (pd, bp, bDir)) {
214214 if (edge->color &RED)
215- r.addEdgePseudoDistance (pd);
215+ r.addEdgePerpendicularDistance (pd);
216216 if (edge->color &GREEN)
217- g.addEdgePseudoDistance (pd);
217+ g.addEdgePerpendicularDistance (pd);
218218 if (edge->color &BLUE)
219- b.addEdgePseudoDistance (pd);
219+ b.addEdgePerpendicularDistance (pd);
220220 }
221- cache.bPseudoDistance = pd;
221+ cache.bPerpendicularDistance = pd;
222222 }
223223 cache.aDomainDistance = add;
224224 cache.bDomainDistance = bdd;
0 commit comments