Public Member Functions | |
void | applySimilarity (double xBary, double yBary, double dimChar) |
void | declareIn () const |
void | declareOn () const |
void | declareOnLim () const |
void | declareOnTangent () |
void | declareOut () |
bool | decrRef () |
double | distanceWithSq (const Node &other) const |
void | dumpInXfigFile (std::ostream &stream, int resolution, const Bounds &box) const |
void | fillGlobalInfoAbs (const std::map< INTERP_KERNEL::Node *, int > &mapThis, const std::map< INTERP_KERNEL::Node *, int > &mapOther, int offset1, int offset2, double fact, double baryX, double baryY, std::vector< double > &addCoo, std::map< INTERP_KERNEL::Node *, int > &mapAddCoo, int *nodeId) const |
void | fillGlobalInfoAbs2 (const std::map< INTERP_KERNEL::Node *, int > &mapThis, const std::map< INTERP_KERNEL::Node *, int > &mapOther, int offset1, int offset2, double fact, double baryX, double baryY, std::vector< double > &addCoo, std::map< INTERP_KERNEL::Node *, int > &mapAddCoo, std::vector< int > &pointsOther) const |
char | getHitStatus () const |
TypeOfLocInPolygon | getLoc () const |
double | getSlope (const Node &other) const |
void | hitMeAfter (double xBary, double yBary, double dimChar) |
void | hitMeAlone (double xBary, double yBary, double dimChar) |
void | incrRef () const |
void | initHitStatus () const |
void | initLocs () const |
bool | isEqual (const Node &other) const |
bool | isEqualAndKeepTrack (const Node &other, std::vector< Node * > &track) const |
Node (double x, double y) | |
Node (const double *coords) | |
Node (std::istream &stream) | |
operator const double * () const | |
double | operator[] (int i) const |
void | setLoc (TypeOfLocInPolygon loc) const |
void | setNewCoords (double x, double y) |
void | unApplySimilarity (double xBary, double yBary, double dimChar) |
void | unHitMeAfter (double xBary, double yBary, double dimChar) |
void | unHitMeAlone (double xBary, double yBary, double dimChar) |
Static Public Member Functions | |
static bool | areDoubleEquals (double a, double b) |
static bool | areDoubleEqualsWP (double a, double b, double k) |
static double | computeAngle (const double *pt1, const double *pt2) |
static double | computeSlope (const double *pt1, const double *pt2) |
static double | distanceBtw2Pt (const double *a, const double *b) |
static double | distanceBtw2PtSq (const double *a, const double *b) |
static double | dot (const double *vect1, const double *vect2) |
static double | norm (const double *vect) |
static double | sign (double val) |
Protected Member Functions | |
~Node () | |
Protected Attributes | |
unsigned char | _cnt |
double | _coords [2] |
char | _hit |
TypeOfLocInPolygon | _loc |
Representation of a 2D point, and potentially its location relative to a polygon. As nodes can be shared between edges it is handled with ref counting.
Node::Node | ( | double | x, |
double | y | ||
) |
References _coords.
Node::Node | ( | const double * | coords | ) |
References _coords.
Node::Node | ( | std::istream & | stream | ) |
References _coords.
|
protected |
void INTERP_KERNEL::Node::incrRef | ( | ) | const |
Referenced by INTERP_KERNEL::Edge::changeEndNodeWith(), INTERP_KERNEL::Edge::changeEndNodeWithAndKeepTrack(), INTERP_KERNEL::Edge::changeStartNodeWith(), INTERP_KERNEL::Edge::changeStartNodeWithAndKeepTrack(), INTERP_KERNEL::QuadraticPolygon::ComputeResidual(), INTERP_KERNEL::Edge::Edge(), INTERP_KERNEL::IntersectElement::IntersectElement(), and INTERP_KERNEL::IntersectElement::setNode().
bool Node::decrRef | ( | ) |
References _cnt.
Referenced by INTERP_KERNEL::QuadraticPolygon::appendCrudeData(), INTERP_KERNEL::QuadraticPolygon::appendEdgeFromCrudeDataArray(), INTERP_KERNEL::Edge::BuildEdgeFrom3Points(), INTERP_KERNEL::EdgeArcCircle::BuildFromNodes(), INTERP_KERNEL::EdgeArcCircle::dumpInXfigFile(), INTERP_KERNEL::EdgeArcCircle::EdgeArcCircle(), INTERP_KERNEL::QuadraticPolygon::haveIAChanceToBeCompletedBy(), INTERP_KERNEL::Edge::Interpolate1DLin(), INTERP_KERNEL::ElementaryEdge::locateFullyMySelfAbsolute(), INTERP_KERNEL::Edge::~Edge(), and INTERP_KERNEL::IntersectElement::~IntersectElement().
void INTERP_KERNEL::Node::initHitStatus | ( | ) | const |
char INTERP_KERNEL::Node::getHitStatus | ( | ) | const |
void INTERP_KERNEL::Node::hitMeAlone | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
void INTERP_KERNEL::Node::unHitMeAlone | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
void INTERP_KERNEL::Node::hitMeAfter | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
void INTERP_KERNEL::Node::unHitMeAfter | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
void INTERP_KERNEL::Node::initLocs | ( | ) | const |
References INTERP_KERNEL::UNKNOWN.
void INTERP_KERNEL::Node::setLoc | ( | TypeOfLocInPolygon | loc | ) | const |
TypeOfLocInPolygon INTERP_KERNEL::Node::getLoc | ( | ) | const |
Referenced by INTERP_KERNEL::QuadraticPolygon::ComputeResidual().
void INTERP_KERNEL::Node::declareIn | ( | ) | const |
References INTERP_KERNEL::IN_1, and INTERP_KERNEL::UNKNOWN.
Referenced by INTERP_KERNEL::Edge::declareIn().
void INTERP_KERNEL::Node::declareOn | ( | ) | const |
References INTERP_KERNEL::ON_1, and INTERP_KERNEL::UNKNOWN.
Referenced by INTERP_KERNEL::Edge::declareOn(), INTERP_KERNEL::ArcCArcCIntersector::getIntersectionsCharacteristicVal(), INTERP_KERNEL::SegSegIntersector::getIntersectionsCharacteristicVal(), and INTERP_KERNEL::ArcCSegIntersector::getIntersectionsCharacteristicVal().
void INTERP_KERNEL::Node::declareOnLim | ( | ) | const |
void INTERP_KERNEL::Node::declareOut | ( | ) |
References INTERP_KERNEL::OUT_1, and INTERP_KERNEL::UNKNOWN.
Referenced by INTERP_KERNEL::Edge::declareOut().
void INTERP_KERNEL::Node::declareOnTangent | ( | ) |
INTERP_KERNEL::Node::operator const double * | ( | ) | const |
bool Node::isEqual | ( | const Node & | other | ) | const |
References areDoubleEquals().
Referenced by INTERP_KERNEL::Edge::changeEndNodeWith(), INTERP_KERNEL::Edge::changeStartNodeWith(), INTERP_KERNEL::SegSegIntersector::getIntersectionsCharacteristicVal(), INTERP_KERNEL::ArcCSegIntersector::getIntersectionsCharacteristicVal(), INTERP_KERNEL::Edge::isEqual(), isEqualAndKeepTrack(), and INTERP_KERNEL::EdgeIntersector::obviousCaseForCurvAbscisse().
double Node::getSlope | ( | const Node & | other | ) | const |
References computeSlope().
Convenient method. Equivalent to isEqual method. In case of true is returned, '&other' is added in 'track' container.
References isEqual().
Referenced by INTERP_KERNEL::Edge::changeEndNodeWithAndKeepTrack(), and INTERP_KERNEL::Edge::changeStartNodeWithAndKeepTrack().
void Node::dumpInXfigFile | ( | std::ostream & | stream, |
int | resolution, | ||
const Bounds & | box | ||
) | const |
References _coords.
Referenced by INTERP_KERNEL::EdgeLin::dumpInXfigFile(), and INTERP_KERNEL::EdgeArcCircle::dumpInXfigFile().
double Node::distanceWithSq | ( | const Node & | other | ) | const |
References _coords.
Referenced by INTERP_KERNEL::EdgeLin::getNormSq(), and INTERP_KERNEL::EdgeLin::isNodeLyingOn().
double INTERP_KERNEL::Node::operator[] | ( | int | i | ) | const |
void INTERP_KERNEL::Node::setNewCoords | ( | double | x, |
double | y | ||
) |
use with caution
Referenced by INTERP_KERNEL::Edge::Interpolate1DLin().
|
static |
WARNING different from 'computeAngle' method ! The returned value are not in the same interval ! Here in [0; Pi). Typically this method returns the same value by exchanging pt1 and pt2. Use in process of detection of a point in or not in polygon.
References norm(), and INTERP_KERNEL::EdgeArcCircle::SafeAcos().
Referenced by getSlope().
|
static |
WARNING different from 'computeSlope' method. Here angle in -Pi;Pi is returned. This method is anti-symetric.
References INTERP_KERNEL::EdgeArcCircle::GetAbsoluteAngleOfNormalizedVect(), and norm().
Referenced by INTERP_KERNEL::EdgeArcCircle::getDistanceToPoint(), and INTERP_KERNEL::EdgeArcCircle::isNodeLyingOn().
void Node::applySimilarity | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
apply a Similarity transformation on this.
xBary | is the opposite of the X translation to do. |
yBary | is the opposite of the Y translation to do. |
dimChar | is the reduction factor. |
References _coords.
Referenced by INTERP_KERNEL::Edge::sortIdsAbs(), and INTERP_KERNEL::Edge::sortSubNodesAbs().
void Node::unApplySimilarity | ( | double | xBary, |
double | yBary, | ||
double | dimChar | ||
) |
apply the reverse Similarity transformation on this. This method is the opposite of Node::applySimilarity method to retrieve the initial state.
xBary | is the opposite of the X translation to do. |
yBary | is the opposite of the Y translation to do. |
dimChar | is the reduction factor. |
References _coords.
Referenced by INTERP_KERNEL::QuadraticPolygon::appendCrudeData().
|
static |
|
static |
|
static |
|
static |
|
static |
idem areDoubleEquals except that precision of comparison is modified.
Referenced by INTERP_KERNEL::ArcCArcCIntersector::getIntersectionsCharacteristicVal().
|
static |
|
static |
void Node::fillGlobalInfoAbs | ( | const std::map< INTERP_KERNEL::Node *, int > & | mapThis, |
const std::map< INTERP_KERNEL::Node *, int > & | mapOther, | ||
int | offset1, | ||
int | offset2, | ||
double | fact, | ||
double | baryX, | ||
double | baryY, | ||
std::vector< double > & | addCoo, | ||
std::map< INTERP_KERNEL::Node *, int > & | mapAddCoo, | ||
int * | nodeId | ||
) | const |
Called by QuadraticPolygon::splitAbs method.
References _coords.
Referenced by INTERP_KERNEL::EdgeLin::fillGlobalInfoAbs(), INTERP_KERNEL::EdgeArcCircle::fillGlobalInfoAbs(), and fillGlobalInfoAbs2().
void Node::fillGlobalInfoAbs2 | ( | const std::map< INTERP_KERNEL::Node *, int > & | mapThis, |
const std::map< INTERP_KERNEL::Node *, int > & | mapOther, | ||
int | offset1, | ||
int | offset2, | ||
double | fact, | ||
double | baryX, | ||
double | baryY, | ||
std::vector< double > & | addCoo, | ||
std::map< INTERP_KERNEL::Node *, int > & | mapAddCoo, | ||
std::vector< int > & | pointsOther | ||
) | const |
Called by QuadraticPolygon::splitAbs method.
References fillGlobalInfoAbs().
Referenced by INTERP_KERNEL::EdgeLin::fillGlobalInfoAbs2(), and INTERP_KERNEL::EdgeArcCircle::fillGlobalInfoAbs2().
|
mutableprotected |
|
mutableprotected |
Referenced by decrRef().
|
mutableprotected |
|
protected |
Referenced by applySimilarity(), distanceWithSq(), dumpInXfigFile(), fillGlobalInfoAbs(), Node(), and unApplySimilarity().