This is the base bounding box class.
It's used into a lot of 2D Entities
This class represents the base bounding box used in the texts entities.
 The Dtk_Oriented2dBBox uses an anchor point notion. Here the 9 anchor point types:
.  
 More...
Public Member Functions | |
| Dtk_pnt & | BottomLeftPoint () | 
| Retrieves the bottom left point.  More... | |
| Dtk_pnt | BottomLeftPoint () const | 
| Retrieves the bottom left point - Read Only -.  More... | |
| void | Clear () | 
| Clear elements.  More... | |
| Dtk_Oriented2dBBox () | |
| Default constructor.  More... | |
| Dtk_Oriented2dBBox (const Dtk_Oriented2dBBox &in) | |
| Copy constructor.  More... | |
| Dtk_Oriented2dBBox (const Dtk_pnt &inBottomLeft, const Dtk_Double64 &inXLength, const Dtk_Double64 inYLenght, const Dtk_dir &inRefAxis=Dtk_dir(1, 0, 0), const Dtk_dir &inNormalAxis=Dtk_dir(0, 0, 1)) | |
| Full featured constructor.  More... | |
| void | Extend (const Dtk_Double64 &inTopExtend, const Dtk_Double64 &inBottomExtend, const Dtk_Double64 &inLeftExtend, const Dtk_Double64 &inRightExtend) | 
| Extend the bounding box.  More... | |
| void | Extend (const Dtk_Double64 &inXExtend, const Dtk_Double64 &inYExtend) | 
| Extend the bounding box.  More... | |
| Dtk_ErrorStatus | GetAnchorPoints (Dtk_pnt(&outTabPnts)[DTK_NB_ANCHOR_TYPES]) const | 
| Processes all the anchor points.  More... | |
| Dtk_pnt | GetBottomCenterPoint () const | 
| Retrieves the bottom center point - Read Only -.  More... | |
| Dtk_pnt | GetBottomLeftPoint () const | 
| Retrieves the bottom left point - Read Only -.  More... | |
| Dtk_pnt | GetBottomRightPoint () const | 
| Retrieves the bottom right point - Read Only -.  More... | |
| Dtk_pnt | GetMiddleCenterPoint () const | 
| Retrieves the middle center point - Read Only -.  More... | |
| Dtk_pnt | GetMiddleLeftPoint () const | 
| Retrieves the middle left point - Read Only -.  More... | |
| Dtk_pnt | GetMiddleRightPoint () const | 
| Retrieves the middle right point - Read Only -.  More... | |
| Dtk_pnt | GetPoint (const enum Dtk_anchor_type &inAnchorType) const | 
| Retrieves the point with inAnchorType type.  More... | |
| Dtk_pnt | GetTopCenterPoint () const | 
| Retrieves the top center point - Read Only -.  More... | |
| Dtk_pnt | GetTopLeftPoint () const | 
| Retrieves the top left point - Read Only -.  More... | |
| Dtk_pnt | GetTopRightPoint () const | 
| Retrieves the top right point - Read Only -.  More... | |
| Dtk_Double64 | GetXLength () const | 
| Retrieves the X length - Read Only -.  More... | |
| Dtk_Double64 | GetYLength () const | 
| Retrieves the Y length - Read Only -.  More... | |
| Dtk_bool | IsInside (const Dtk_pnt &inPoint) const | 
| Test if a point is inside Dtk_Oriented2dBBox class.  More... | |
| void | Merge (const Dtk_Oriented2dBBox &inOriented2dBBox) | 
| Merges the Dtk_Oriented2dBBox to another one.  More... | |
| void | Merge (const Dtk_pnt &inPoint) | 
| Merges the Dtk_Oriented2dBBox to an additional point.  More... | |
| Dtk_Oriented2dBBox & | operator= (const Dtk_Oriented2dBBox &in) | 
| Copy assignment operator.  More... | |
| Dtk_ErrorStatus | ProcessDistance (const Dtk_Oriented2dBBox &inReferenceBBox, Dtk_Double64 &outTopOffSet, Dtk_Double64 &outBottomOffSet, Dtk_Double64 &outRightOffSet, Dtk_Double64 &outLeftOffSet) const | 
| Process distance - Read Only -.  More... | |
| Dtk_Int32 | ProcessIntersectionWithCircle (const Dtk_pnt &inCenter, const Dtk_Double64 &inRadius, Dtk_tab< Dtk_pnt > &outIntersectionPnts) const | 
| Processes intersection points with a circle on the same plane as the boundingbox, giving its center and its radius.  More... | |
| Dtk_Int32 | ProcessIntersectionWithLine (const Dtk_LinePtr inLine, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, Dtk_Double64 &outIntersectionParam1, Dtk_Double64 &outIntersectionParam2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const | 
| Processes intersection points with a line.  More... | |
| Dtk_Int32 | ProcessIntersectionWithLine (const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const | 
| Processes intersection points with a line giving two points on the line.  More... | |
| Dtk_Int32 | ProcessIntersectionWithSegment (const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_pnt &outIntersectionPnt1, Dtk_pnt &outIntersectionPnt2, const Dtk_bool &inTestComplanarity=DTK_FALSE) const | 
| Processes intersection points with a segment giving its ends.  More... | |
| Dtk_Int32 | ProcessIntersectionWithSegment (const Dtk_pnt &inPntA, const Dtk_pnt &inPntB, Dtk_tab< Dtk_pnt > &outIntersectionPnts, const Dtk_bool &inTestComplanarity=DTK_FALSE) const | 
| Processes intersection points with a segment giving its ends.  More... | |
| void | Reverse () | 
| Reverses the bounding box X local vector and Y local vector orientation are reversed.  More... | |
| void | Rotate (const Dtk_Double64 &inAngleInRadian) | 
| Rotates the bounding box.  More... | |
| void | SetBottomCenterPoint (const Dtk_pnt &inNewPoint) | 
| Sets the bottom center point.  More... | |
| void | SetBottomLeftPoint (const Dtk_pnt &inNewPoint) | 
| Sets the bottom left point.  More... | |
| void | SetBottomRightPoint (const Dtk_pnt &inNewPoint) | 
| Sets the bottom right point.  More... | |
| void | SetLocalVectors (const Dtk_dir &inNewXVector, const Dtk_dir &inNewYVector) | 
| Sets the X and Y local vectors.  More... | |
| void | SetMiddleCenterPoint (const Dtk_pnt &inNewPoint) | 
| Sets the middle center point.  More... | |
| void | SetMiddleLeftPoint (const Dtk_pnt &inNewPoint) | 
| Sets the middle left point.  More... | |
| void | SetMiddleRightPoint (const Dtk_pnt &inNewPoint) | 
| Sets the middle right point.  More... | |
| void | SetPoint (const Dtk_pnt &inNewPoint, const enum Dtk_anchor_type &inAnchorType) | 
| Sets the point with inAnchorType type.  More... | |
| void | SetTopCenterPoint (const Dtk_pnt &inNewPoint) | 
| Sets the top center point.  More... | |
| void | SetTopLeftPoint (const Dtk_pnt &inNewPoint) | 
| Sets the top left point.  More... | |
| void | SetTopRightPoint (const Dtk_pnt &inNewPoint) | 
| Sets the top right point.  More... | |
| void | SetXLength (const Dtk_Double64 &inNewXlength) | 
| Retrieves the X length.  More... | |
| void | SetXLocalVector (const Dtk_dir &inNewXVector) | 
| Sets the X local vector.  More... | |
| void | SetYLength (const Dtk_Double64 &inNewXlength) | 
| Retrieves the Y length.  More... | |
| void | SetYLocalVector (const Dtk_dir &inNewYVector) | 
| Sets the Y local vector.  More... | |
| void | Transform (const Dtk_transfo &inTransfo) | 
| Applies a transformation matrix to the bounding box.  More... | |
| void | Translate (const Dtk_dir &inTranslation) | 
| Translates the text giving a translation vector.  More... | |
| Dtk_dir & | XLocalVector () | 
| Retrieves the X local vector.  More... | |
| Dtk_dir | XLocalVector () const | 
| Retrieves the X local vector - Read Only -.  More... | |
| Dtk_dir & | YLocalVector () | 
| Retrieves the Y local vector.  More... | |
| Dtk_dir | YLocalVector () const | 
| Retrieves the Y local vector - Read Only -.  More... | |
| ~Dtk_Oriented2dBBox () | |
| Destructor.  More... | |
Protected Member Functions | |
| void | _Copy (const Dtk_Oriented2dBBox &s) | 
| void | _Init () | 
| void | _Reset () | 
Protected Attributes | |
| Dtk_pnt | _BottomLeftPnt | 
| Dtk_Double64 | _XLength | 
| Dtk_dir | _XLocalVector | 
| Dtk_Double64 | _YLength | 
| Dtk_dir | _YLocalVector | 
This is the base bounding box class.
It's used into a lot of 2D Entities
This class represents the base bounding box used in the texts entities.
 The Dtk_Oriented2dBBox uses an anchor point notion. Here the 9 anchor point types:
. 
| Dtk_Oriented2dBBox::Dtk_Oriented2dBBox | ( | ) | 
Default constructor.
| Dtk_Oriented2dBBox::Dtk_Oriented2dBBox | ( | const Dtk_pnt & | inBottomLeft, | 
| const Dtk_Double64 & | inXLength, | ||
| const Dtk_Double64 | inYLenght, | ||
| const Dtk_dir & | inRefAxis = Dtk_dir(1, 0, 0),  | 
        ||
| const Dtk_dir & | inNormalAxis = Dtk_dir(0, 0, 1)  | 
        ||
| ) | 
Full featured constructor.
| inBottomLeft | Bottom left point | 
| inXLength | X length | 
| inYLenght | Y length | 
| inRefAxis | Ref axis | 
| inNormalAxis | Normal axis | 
| Dtk_Oriented2dBBox::Dtk_Oriented2dBBox | ( | const Dtk_Oriented2dBBox & | in | ) | 
Copy constructor.
| in | Object to copy from. | 
| Dtk_Oriented2dBBox::~Dtk_Oriented2dBBox | ( | ) | 
Destructor.
      
  | 
  protected | 
      
  | 
  protected | 
| Dtk_pnt& Dtk_Oriented2dBBox::BottomLeftPoint | ( | ) | 
Retrieves the bottom left point.
| Dtk_pnt Dtk_Oriented2dBBox::BottomLeftPoint | ( | ) | const | 
Retrieves the bottom left point - Read Only -.
| void Dtk_Oriented2dBBox::Extend | ( | const Dtk_Double64 & | inTopExtend, | 
| const Dtk_Double64 & | inBottomExtend, | ||
| const Dtk_Double64 & | inLeftExtend, | ||
| const Dtk_Double64 & | inRightExtend | ||
| ) | 
Extend the bounding box.
| inTopExtend | Extend the top of the bounding box | 
| inBottomExtend | Extend the bottom of the bounding box | 
| inLeftExtend | Extend the left of the bounding box | 
| inRightExtend | Extend the right of the bounding box | 
| void Dtk_Oriented2dBBox::Extend | ( | const Dtk_Double64 & | inXExtend, | 
| const Dtk_Double64 & | inYExtend | ||
| ) | 
Extend the bounding box.
| inXExtend | Extend the bounding box horizontally | 
| inYExtend | Extend the bounding box vertically | 
| Dtk_ErrorStatus Dtk_Oriented2dBBox::GetAnchorPoints | ( | Dtk_pnt(&) | outTabPnts[DTK_NB_ANCHOR_TYPES] | ) | const | 
Processes all the anchor points.
| outTabPnts | the resulting anchor point array | 
| Dtk_pnt Dtk_Oriented2dBBox::GetBottomCenterPoint | ( | ) | const | 
Retrieves the bottom center point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetBottomLeftPoint | ( | ) | const | 
Retrieves the bottom left point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetBottomRightPoint | ( | ) | const | 
Retrieves the bottom right point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetMiddleCenterPoint | ( | ) | const | 
Retrieves the middle center point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetMiddleLeftPoint | ( | ) | const | 
Retrieves the middle left point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetMiddleRightPoint | ( | ) | const | 
Retrieves the middle right point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetPoint | ( | const enum Dtk_anchor_type & | inAnchorType | ) | const | 
Retrieves the point with inAnchorType type.
| inAnchorType | The point anchor type | 
| Dtk_pnt Dtk_Oriented2dBBox::GetTopCenterPoint | ( | ) | const | 
Retrieves the top center point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetTopLeftPoint | ( | ) | const | 
Retrieves the top left point - Read Only -.
| Dtk_pnt Dtk_Oriented2dBBox::GetTopRightPoint | ( | ) | const | 
Retrieves the top right point - Read Only -.
| Dtk_Double64 Dtk_Oriented2dBBox::GetXLength | ( | ) | const | 
| Dtk_Double64 Dtk_Oriented2dBBox::GetYLength | ( | ) | const | 
Test if a point is inside Dtk_Oriented2dBBox class.
| inPoint | The point | 
return true if the point is inside Dtk_Oriented2dBBox class
| void Dtk_Oriented2dBBox::Merge | ( | const Dtk_Oriented2dBBox & | inOriented2dBBox | ) | 
Merges the Dtk_Oriented2dBBox to another one.
| inOriented2dBBox | The Dtk_Oriented2dBBox to be merged | 
| void Dtk_Oriented2dBBox::Merge | ( | const Dtk_pnt & | inPoint | ) | 
Merges the Dtk_Oriented2dBBox to an additional point.
| inPoint | The inPoint to be merged | 
| Dtk_Oriented2dBBox& Dtk_Oriented2dBBox::operator= | ( | const Dtk_Oriented2dBBox & | in | ) | 
Copy assignment operator.
| in | Object to copy from. | 
| Dtk_ErrorStatus Dtk_Oriented2dBBox::ProcessDistance | ( | const Dtk_Oriented2dBBox & | inReferenceBBox, | 
| Dtk_Double64 & | outTopOffSet, | ||
| Dtk_Double64 & | outBottomOffSet, | ||
| Dtk_Double64 & | outRightOffSet, | ||
| Dtk_Double64 & | outLeftOffSet | ||
| ) | const | 
Process distance - Read Only -.
| inReferenceBBox | The reference bounding box | 
| outTopOffSet | The result top offset | 
| outBottomOffSet | The result bottom offset | 
| outRightOffSet | The result right offset | 
| outLeftOffSet | The result left offset | 
| Dtk_Int32 Dtk_Oriented2dBBox::ProcessIntersectionWithCircle | ( | const Dtk_pnt & | inCenter, | 
| const Dtk_Double64 & | inRadius, | ||
| Dtk_tab< Dtk_pnt > & | outIntersectionPnts | ||
| ) | const | 
Processes intersection points with a circle on the same plane as the boundingbox, giving its center and its radius.
| inCenter | The center of the circle. | 
| inRadius | The radius of the circle. | 
| outIntersectionPnts | The tab of intersection points | 
| Dtk_Int32 Dtk_Oriented2dBBox::ProcessIntersectionWithLine | ( | const Dtk_LinePtr | inLine, | 
| Dtk_pnt & | outIntersectionPnt1, | ||
| Dtk_pnt & | outIntersectionPnt2, | ||
| Dtk_Double64 & | outIntersectionParam1, | ||
| Dtk_Double64 & | outIntersectionParam2, | ||
| const Dtk_bool & | inTestComplanarity = DTK_FALSE  | 
        ||
| ) | const | 
Processes intersection points with a line.
| inLine | : the line to process | 
| outIntersectionPnt1 | The 1st intersection point - if exists - | 
| outIntersectionPnt2 | The 2nd intersection point - if exists - | 
| outIntersectionParam1 | The 1st intersection parameter - if exists - | 
| outIntersectionParam2 | The 2nd intersection parameter - if exists - | 
| inTestComplanarity | If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box. | 
| Dtk_Int32 Dtk_Oriented2dBBox::ProcessIntersectionWithLine | ( | const Dtk_pnt & | inPntA, | 
| const Dtk_pnt & | inPntB, | ||
| Dtk_pnt & | outIntersectionPnt1, | ||
| Dtk_pnt & | outIntersectionPnt2, | ||
| const Dtk_bool & | inTestComplanarity = DTK_FALSE  | 
        ||
| ) | const | 
Processes intersection points with a line giving two points on the line.
| inPntA | The 1st point of the line | 
| inPntB | The 2nd point of the line | 
| outIntersectionPnt1 | The 1st intersection point - if exists - | 
| outIntersectionPnt2 | The 2nd intersection point - if exists - | 
| inTestComplanarity | If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box. | 
| Dtk_Int32 Dtk_Oriented2dBBox::ProcessIntersectionWithSegment | ( | const Dtk_pnt & | inPntA, | 
| const Dtk_pnt & | inPntB, | ||
| Dtk_pnt & | outIntersectionPnt1, | ||
| Dtk_pnt & | outIntersectionPnt2, | ||
| const Dtk_bool & | inTestComplanarity = DTK_FALSE  | 
        ||
| ) | const | 
Processes intersection points with a segment giving its ends.
| inPntA | The 1st end of the segment. | 
| inPntB | The 2nd end of the segment. | 
| outIntersectionPnt1 | The 1st intersection point - if exists - | 
| outIntersectionPnt2 | The 2nd intersection point - if exists - | 
| inTestComplanarity | If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box. | 
| Dtk_Int32 Dtk_Oriented2dBBox::ProcessIntersectionWithSegment | ( | const Dtk_pnt & | inPntA, | 
| const Dtk_pnt & | inPntB, | ||
| Dtk_tab< Dtk_pnt > & | outIntersectionPnts, | ||
| const Dtk_bool & | inTestComplanarity = DTK_FALSE  | 
        ||
| ) | const | 
Processes intersection points with a segment giving its ends.
| inPntA | The 1st end of the segment. | 
| inPntB | The 2nd end of the segment. | 
| outIntersectionPnts | The list of intersection points | 
| inTestComplanarity | If DTK_TRUE the method will test if inPntA and inPntB are on the same plane than the Bounding Box. | 
| void Dtk_Oriented2dBBox::Reverse | ( | ) | 
Reverses the bounding box X local vector and Y local vector orientation are reversed.
| void Dtk_Oriented2dBBox::Rotate | ( | const Dtk_Double64 & | inAngleInRadian | ) | 
Rotates the bounding box.
| inAngleInRadian | The angle in radian | 
| void Dtk_Oriented2dBBox::SetBottomCenterPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the bottom center point.
| inNewPoint | The new bottom center point | 
| void Dtk_Oriented2dBBox::SetBottomLeftPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the bottom left point.
| inNewPoint | The new bottom left point | 
| void Dtk_Oriented2dBBox::SetBottomRightPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the bottom right point.
| inNewPoint | The new bottom right point | 
| void Dtk_Oriented2dBBox::SetLocalVectors | ( | const Dtk_dir & | inNewXVector, | 
| const Dtk_dir & | inNewYVector | ||
| ) | 
Sets the X and Y local vectors.
| inNewXVector | The new X local vector | 
| inNewYVector | The new Y local vector | 
| void Dtk_Oriented2dBBox::SetMiddleCenterPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the middle center point.
| inNewPoint | The new middle center point | 
| void Dtk_Oriented2dBBox::SetMiddleLeftPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the middle left point.
| inNewPoint | The new middle left point | 
| void Dtk_Oriented2dBBox::SetMiddleRightPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the middle right point.
| inNewPoint | The new middle right point | 
| void Dtk_Oriented2dBBox::SetPoint | ( | const Dtk_pnt & | inNewPoint, | 
| const enum Dtk_anchor_type & | inAnchorType | ||
| ) | 
Sets the point with inAnchorType type.
| inNewPoint | The new point | 
| inAnchorType | The point anchor type | 
| void Dtk_Oriented2dBBox::SetTopCenterPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the top center point.
| inNewPoint | The new top center point | 
| void Dtk_Oriented2dBBox::SetTopLeftPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the top left point.
| inNewPoint | The new top left point | 
| void Dtk_Oriented2dBBox::SetTopRightPoint | ( | const Dtk_pnt & | inNewPoint | ) | 
Sets the top right point.
| inNewPoint | The new top right point | 
| void Dtk_Oriented2dBBox::SetXLength | ( | const Dtk_Double64 & | inNewXlength | ) | 
Retrieves the X length.
| inNewXlength | Extend the new X length of the bounding box | 
| void Dtk_Oriented2dBBox::SetXLocalVector | ( | const Dtk_dir & | inNewXVector | ) | 
Sets the X local vector.
| inNewXVector | The new X local vector | 
| void Dtk_Oriented2dBBox::SetYLength | ( | const Dtk_Double64 & | inNewXlength | ) | 
Retrieves the Y length.
| inNewXlength | Extend the new Y length of the bounding box | 
| void Dtk_Oriented2dBBox::SetYLocalVector | ( | const Dtk_dir & | inNewYVector | ) | 
Sets the Y local vector.
| inNewYVector | The new Y local vector | 
| void Dtk_Oriented2dBBox::Transform | ( | const Dtk_transfo & | inTransfo | ) | 
Applies a transformation matrix to the bounding box.
| inTransfo | The transformation matrix | 
| void Dtk_Oriented2dBBox::Translate | ( | const Dtk_dir & | inTranslation | ) | 
Translates the text giving a translation vector.
| inTranslateDir | the translation vector | 
| Dtk_dir& Dtk_Oriented2dBBox::XLocalVector | ( | ) | 
| Dtk_dir Dtk_Oriented2dBBox::XLocalVector | ( | ) | const | 
Retrieves the X local vector - Read Only -.
| Dtk_dir& Dtk_Oriented2dBBox::YLocalVector | ( | ) | 
| Dtk_dir Dtk_Oriented2dBBox::YLocalVector | ( | ) | const | 
Retrieves the Y local vector - Read Only -.
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |