Fix a conflict with predefined macro "_B" in Hurricane::Diagonal.

This commit is contained in:
Jean-Paul Chaput 2023-03-07 17:21:08 +01:00
parent 1e8c304ac5
commit aafec8c64c
2 changed files with 25 additions and 29 deletions

View File

@ -50,7 +50,7 @@ namespace Hurricane {
, _source(source) , _source(source)
, _target(target) , _target(target)
, _width (width) , _width (width)
, _B (0) , _dWidth(0)
{ {
_updateB(); _updateB();
} }
@ -175,16 +175,16 @@ namespace Hurricane {
void Diagonal::_updateB () void Diagonal::_updateB ()
{ {
_B = (DbU::Unit)( (float)(_width)/sqrt(2) ) - _width/2; _dWidth = (DbU::Unit)( (float)(_width)/sqrt(2) ) - _width/2;
if (_B % DbU::getPolygonStep()) { if (_dWidth % DbU::getPolygonStep()) {
_B += DbU::getPolygonStep() - (_B % DbU::getPolygonStep()); _dWidth += DbU::getPolygonStep() - (_dWidth % DbU::getPolygonStep());
} }
if (_B > _width/2) { if (_dWidth > _width/2) {
cerr << Error( "Diagonal::_updateB(): Width is too small invalid polygon on,\n" cerr << Error( "Diagonal::_updateB(): Width is too small invalid polygon on,\n"
" %s" " %s"
, getString(this).c_str() ) << endl; , getString(this).c_str() ) << endl;
_B = _width/2; _dWidth = _width/2;
} }
} }
@ -206,30 +206,30 @@ namespace Hurricane {
Point t = (dx > 0) ? _target : _source; Point t = (dx > 0) ? _target : _source;
switch ( i ) { switch ( i ) {
case 0: return Point( s.getX()- A, s.getY()-_B ); case 0: return Point( s.getX()- A, s.getY()-_dWidth );
case 1: return Point( s.getX()-_B, s.getY()- A ); case 1: return Point( s.getX()-_dWidth, s.getY()- A );
case 2: return Point( s.getX()+_B, s.getY()- A ); case 2: return Point( s.getX()+_dWidth, s.getY()- A );
case 3: return Point( t.getX()+ A, t.getY()-_B ); case 3: return Point( t.getX()+ A, t.getY()-_dWidth );
case 4: return Point( t.getX()+ A, t.getY()+_B ); case 4: return Point( t.getX()+ A, t.getY()+_dWidth );
case 5: return Point( t.getX()+_B, t.getY()+ A ); case 5: return Point( t.getX()+_dWidth, t.getY()+ A );
case 6: return Point( t.getX()-_B, t.getY()+ A ); case 6: return Point( t.getX()-_dWidth, t.getY()+ A );
default: default:
case 7: return Point( s.getX()- A, s.getY()+_B ); case 7: return Point( s.getX()- A, s.getY()+_dWidth );
} }
} else { } else {
Point s = (dx > 0) ? _source : _target; Point s = (dx > 0) ? _source : _target;
Point t = (dx > 0) ? _target : _source; Point t = (dx > 0) ? _target : _source;
switch ( i ) { switch ( i ) {
case 0: return Point( s.getX()- A, s.getY()-_B ); case 0: return Point( s.getX()- A, s.getY()-_dWidth );
case 1: return Point( t.getX()-_B, t.getY()- A ); case 1: return Point( t.getX()-_dWidth, t.getY()- A );
case 2: return Point( t.getX()+_B, t.getY()- A ); case 2: return Point( t.getX()+_dWidth, t.getY()- A );
case 3: return Point( t.getX()+ A, t.getY()-_B ); case 3: return Point( t.getX()+ A, t.getY()-_dWidth );
case 4: return Point( t.getX()+ A, t.getY()+_B ); case 4: return Point( t.getX()+ A, t.getY()+_dWidth );
case 5: return Point( s.getX()+_B, s.getY()+ A ); case 5: return Point( s.getX()+_dWidth, s.getY()+ A );
case 6: return Point( s.getX()-_B, s.getY()+ A ); case 6: return Point( s.getX()-_dWidth, s.getY()+ A );
default: default:
case 7: return Point( s.getX()- A, s.getY()+_B ); case 7: return Point( s.getX()- A, s.getY()+_dWidth );
} }
} }
} }

View File

@ -1,6 +1,6 @@
// -*- C++ -*- // -*- C++ -*-
// //
// Copyright (c) BULL S.A. 2000-2018, All Rights Reserved // Copyright (c) BULL S.A. 2000-2023, All Rights Reserved
// //
// This file is part of Hurricane. // This file is part of Hurricane.
// //
@ -29,9 +29,7 @@
// +-----------------------------------------------------------------+ // +-----------------------------------------------------------------+
#ifndef HURRICANE_DIAGONAL_H #pragma once
#define HURRICANE_DIAGONAL_H
#include "hurricane/Component.h" #include "hurricane/Component.h"
@ -85,7 +83,7 @@ namespace Hurricane {
Point _source; Point _source;
Point _target; Point _target;
DbU::Unit _width; DbU::Unit _width;
DbU::Unit _B; // octagon half Y. DbU::Unit _dWidth; // octagon half Y.
}; };
@ -105,5 +103,3 @@ namespace Hurricane {
INSPECTOR_P_SUPPORT(Hurricane::Diagonal); INSPECTOR_P_SUPPORT(Hurricane::Diagonal);
#endif // HURRICANE_DIAGONAL_H