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 () | |
Base constructor. More... | |
Dtk_Oriented2dBBox (const Dtk_Oriented2dBBox &s) | |
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 &inToBeAssigned) |
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 | ( | ) |
Base 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 & | s | ) |
Copy constructor.
s | Object to copy. |
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 & | inToBeAssigned | ) |
Assignment Operator.
inTobeAssigned | Object to copy. |
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 |