The 3D bounding box class. More...
#include <BoundBox.h>
Public Types | |
typedef _Precision | num_type |
enum | OCTANT { OCT_LDB = 0 , OCT_RDB , OCT_LUB , OCT_RUB , OCT_LDF , OCT_RDF , OCT_LUF , OCT_RUF } |
enum | SIDE { LEFT =0 , RIGHT =1 , TOP =2 , BOTTOM =3 , FRONT =4 , BACK =5 , INVALID =255 } |
typedef float_traits< num_type > | traits_type |
Public Member Functions | |
void | Add (const BoundBox3< _Precision > &rcBB) |
Appends the bounding box to this box. More... | |
void | Add (const Vector3< _Precision > &rclVect) |
Appends the point to the box. More... | |
BoundBox3 (_Precision fMinX=std::numeric_limits< _Precision >::max(), _Precision fMinY=std::numeric_limits< _Precision >::max(), _Precision fMinZ=std::numeric_limits< _Precision >::max(), _Precision fMaxX=-std::numeric_limits< _Precision >::max(), _Precision fMaxY=-std::numeric_limits< _Precision >::max(), _Precision fMaxZ=-std::numeric_limits< _Precision >::max()) | |
Builds box from pairs of x,y,z values. More... | |
BoundBox3 (const BoundBox3< _Precision > &rcBB) | |
BoundBox3 (const Vector3< _Precision > &rcCnt, _Precision fDistance) | |
Defines a bounding box around the center rcCnt with the distances fDistance in each coordinate. More... | |
BoundBox3 (const Vector3< _Precision > *pclVect, unsigned long ulCt) | |
Builds box from an array of points. More... | |
_Precision | CalcDiagonalLength () const |
Compute the diagonal length of this bounding box. More... | |
bool | CalcEdge (unsigned short usEdge, Vector3< _Precision > &rcP0, Vector3< _Precision > &rcP1) const |
Calculates the two points of an edge. More... | |
BoundBox3< _Precision > | CalcOctant (typename BoundBox3< _Precision >::OCTANT Octant) const |
void | CalcPlane (unsigned short usPlane, Vector3< _Precision > &rBase, Vector3< _Precision > &rNormal) const |
Returns the plane of the given side. More... | |
Vector3< _Precision > | CalcPoint (unsigned short usPoint) const |
Returns the corner point usPoint. More... | |
Vector3< _Precision > | ClosestPoint (const Vector3< _Precision > &rclPt) const |
Searches for the closest point of the bounding box. More... | |
void | Enlarge (_Precision fLen) |
Enlarges the box with factor fLen. More... | |
Vector3< _Precision > | GetCenter () const |
Returns the center.of the box. More... | |
bool | GetOctantFromVector (const Vector3< _Precision > &rclVct, OCTANT &rclOctant) const |
BoundBox3< _Precision >::SIDE | GetSideFromRay (const Vector3< _Precision > &rclPt, const Vector3< _Precision > &rclDir) const |
Returns the side of the bounding box the ray exits. More... | |
BoundBox3< _Precision >::SIDE | GetSideFromRay (const Vector3< _Precision > &rclPt, const Vector3< _Precision > &rclDir, Vector3< _Precision > &rcInt) const |
Returns the side of the bounding box the ray exits. More... | |
bool | Intersect (const BoundBox2d &rcBB) const |
Checks for intersection. More... | |
bool | Intersect (const BoundBox3< _Precision > &rcBB) const |
Methods for intersection, cuttÃng and union of bounding boxes. More... | |
BoundBox3< _Precision > | Intersected (const BoundBox3< _Precision > &rcBB) const |
Computes the intersection between two bounding boxes. More... | |
bool | IntersectionPoint (const Vector3< _Precision > &rcVct, const Vector3< _Precision > &rcVctDir, Vector3< _Precision > &cVctRes, _Precision epsilon) const |
Intersection point of an inner search ray with the bounding box, built of the base rcVct and the direction rcVctDir. More... | |
bool | IntersectPlaneWithLine (unsigned short usSide, const Vector3< _Precision > &rcBase, const Vector3< _Precision > &rcDir, Vector3< _Precision > &rcP0) const |
Computes the intersection point of line and a plane of the bounding box. More... | |
bool | IntersectWithLine (const Vector3< _Precision > &rcBase, const Vector3< _Precision > &rcDir, Vector3< _Precision > &rcP0, Vector3< _Precision > &rcP1) const |
Computes the intersection points of line and bounding box. More... | |
bool | IsCutLine (const Vector3< _Precision > &rcBase, const Vector3< _Precision > &rcDir, _Precision fTolerance=0.0f) const |
Checks for intersection with line incl. More... | |
bool | IsCutPlane (const Vector3< _Precision > &rclBase, const Vector3< _Precision > &rclNormal) const |
Checks if this plane specified by (point,normal) cuts this box. More... | |
bool | IsInBox (const BoundBox2d &rcbb) const |
Checks if this 2D box lies inside the box. More... | |
bool | IsInBox (const BoundBox3< _Precision > &rcBB) const |
Checks if this 3D box lies inside the box. More... | |
bool | IsInBox (const Vector3< _Precision > &rcVct) const |
Test methods. More... | |
bool | IsValid () const |
Checks whether the bounding box is valid. More... | |
_Precision | LengthX () const |
Calculates expansion in x-direction. More... | |
_Precision | LengthY () const |
Calculates expansion in y-direction. More... | |
_Precision | LengthZ () const |
Calculates expansion in z-direction. More... | |
void | MoveX (_Precision f) |
Moves in x-direction. More... | |
void | MoveY (_Precision f) |
Moves in y-direction. More... | |
void | MoveZ (_Precision f) |
Moves in z-direction. More... | |
bool | operator&& (const BoundBox2d &rcBB) const |
Checks for intersection. More... | |
bool | operator&& (const BoundBox3< _Precision > &rcBB) const |
Checks for intersection. More... | |
BoundBox3< _Precision > & | operator= (const BoundBox3< _Precision > &rcBound) |
Assignment operator. More... | |
void | Print (std::ostream &) const |
Prints the values to stream. More... | |
BoundBox2d | ProjectBox (const ViewProjMethod *rclP) const |
Projects the box onto a plane and returns a 2D box. More... | |
void | ScaleX (_Precision f) |
Scales in x-direction. More... | |
void | ScaleY (_Precision f) |
Scales in y-direction. More... | |
void | ScaleZ (_Precision f) |
Scales in z-direction. More... | |
void | SetVoid () |
void | Shrink (_Precision fLen) |
Shrinks the box with factor fLen. More... | |
BoundBox3< _Precision > | Transformed (const Matrix4D &mat) const |
Transform the corners of this box with the given matrix and create a new bounding box. More... | |
BoundBox3< _Precision > | United (const BoundBox3< _Precision > &rcBB) const |
The union of two bounding boxes. More... | |
~BoundBox3 () | |
Public Attributes | |
_Precision | MaxX |
_Precision | MaxY |
_Precision | MaxZ |
_Precision | MinX |
Public attributes. More... | |
_Precision | MinY |
_Precision | MinZ |
The 3D bounding box class.
typedef _Precision Base::BoundBox3< _Precision >::num_type |
typedef float_traits<num_type> Base::BoundBox3< _Precision >::traits_type |
enum Base::BoundBox3::OCTANT |
enum Base::BoundBox3::SIDE |
|
explicit |
Builds box from pairs of x,y,z values.
Base::BoundBox3< _Precision >::BoundBox3 | ( | const BoundBox3< _Precision > & | rcBB | ) |
Base::BoundBox3< _Precision >::BoundBox3 | ( | const Vector3< _Precision > * | pclVect, |
unsigned long | ulCt | ||
) |
Builds box from an array of points.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, Base::BoundBox3< _Precision >::MinZ, Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Base::BoundBox3< _Precision >::BoundBox3 | ( | const Vector3< _Precision > & | rcCnt, |
_Precision | fDistance | ||
) |
Defines a bounding box around the center rcCnt with the distances fDistance in each coordinate.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Base::BoundBox3< _Precision >::~BoundBox3 |
void Base::BoundBox3< _Precision >::Add | ( | const BoundBox3< _Precision > & | rcBB | ) |
Appends the bounding box to this box.
The box can grow but not shrink.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, and Base::BoundBox3< _Precision >::MinZ.
void Base::BoundBox3< _Precision >::Add | ( | const Vector3< _Precision > & | rclVect | ) |
Appends the point to the box.
The box can grow but not shrink.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), Points::PointsGrid::CalculateGridLength(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::PlaneFit::Dimension(), Mesh::MeshObject::getBoundBox(), Points::PointKernel::getBoundBox(), Gui::MovableGroupModel::getBoundingBox(), TechDraw::DrawProjGroup::getBoundingBox(), MeshCore::PlaneFit::GetBoundings(), Gui::Dialog::TransformStrategy::getRotationCenter(), Points::PointsGrid::InitGrid(), MeshInfoWatcher::onSelectionChanged(), DrawingGui::OrthoViews::OrthoViews(), Points::PointsGrid::PointsGrid(), PartDesignGui::ViewProviderDatumLine::setExtents(), PartDesignGui::ViewProviderDatumPlane::setExtents(), Base::BoundBox3< _Precision >::Transformed(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::CalcDiagonalLength |
Compute the diagonal length of this bounding box.
Referenced by MeshCore::MeshProjection::bboxInsideRectangle(), MeshCore::MeshGrid::CalculateGridLength(), Points::PointsGrid::CalculateGridLength(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), MeshCore::MeshOutput::SaveX3DContent(), and PartGui::ViewProviderMirror::setEdit().
bool Base::BoundBox3< _Precision >::CalcEdge | ( | unsigned short | usEdge, |
Vector3< _Precision > & | rcP0, | ||
Vector3< _Precision > & | rcP1 | ||
) | const |
Calculates the two points of an edge.
0. edge P0-P1 1. edge P1-P2 2. edge P2-P3
BoundBox3< _Precision > Base::BoundBox3< _Precision >::CalcOctant | ( | typename BoundBox3< _Precision >::OCTANT | Octant | ) | const |
void Base::BoundBox3< _Precision >::CalcPlane | ( | unsigned short | usPlane, |
Vector3< _Precision > & | rBase, | ||
Vector3< _Precision > & | rNormal | ||
) | const |
Returns the plane of the given side.
References Base::Vector3< _Precision >::Set().
Vector3< _Precision > Base::BoundBox3< _Precision >::CalcPoint | ( | unsigned short | usPoint | ) | const |
Returns the corner point usPoint.
0: front,bottom,left 1: front,bottom,right 2: front,top,right 3: front,top,left 4: back,bottom,left 5: back,bottom,right 6: back,top,right 7: back,top,left
Referenced by MeshCore::MeshTrimByPlane::CheckFacets(), Mesh::MeshObject::createCube(), and Mesh::MeshObject::getBoundBox().
Vector3< _Precision > Base::BoundBox3< _Precision >::ClosestPoint | ( | const Vector3< _Precision > & | rclPt | ) | const |
Searches for the closest point of the bounding box.
References DraftVecUtils::closest(), and Base::Vector3< _Precision >::ProjectToPlane().
void Base::BoundBox3< _Precision >::Enlarge | ( | _Precision | fLen | ) |
Enlarges the box with factor fLen.
Referenced by FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::MeshGrid::GetMeshBoundBox(), Base::BoundBox3< _Precision >::IntersectionPoint(), and MeshCore::MeshGeomFacet::IntersectWithFacet().
Vector3< _Precision > Base::BoundBox3< _Precision >::GetCenter |
Returns the center.of the box.
Referenced by MeshCore::MeshProjection::bboxInsideRectangle(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), MeshPartGui::CrossSections::CrossSections(), PartGui::CrossSections::CrossSections(), MeshCore::MeshGeomEdge::IntersectBoundingBox(), MeshCore::MeshGeomFacet::IntersectBoundingBox(), DrawingGui::orthoview::orthoview(), MeshCore::MeshOutput::SaveAsymptote(), MeshCore::MeshOutput::SaveX3DContent(), Points::PointsGrid::SearchNearestFromPoint(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), MeshCore::MeshGrid::SearchNearestFromPoint(), and PartGui::ViewProviderMirror::setEdit().
bool Base::BoundBox3< _Precision >::GetOctantFromVector | ( | const Vector3< _Precision > & | rclVct, |
OCTANT & | rclOctant | ||
) | const |
BoundBox3< _Precision >::SIDE Base::BoundBox3< _Precision >::GetSideFromRay | ( | const Vector3< _Precision > & | rclPt, |
const Vector3< _Precision > & | rclDir | ||
) | const |
Returns the side of the bounding box the ray exits.
Referenced by Points::PointsGrid::SearchNearestFromPoint(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), and MeshCore::MeshGrid::SearchNearestFromPoint().
BoundBox3< _Precision >::SIDE Base::BoundBox3< _Precision >::GetSideFromRay | ( | const Vector3< _Precision > & | rclPt, |
const Vector3< _Precision > & | rclDir, | ||
Vector3< _Precision > & | rcInt | ||
) | const |
Returns the side of the bounding box the ray exits.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
bool Base::BoundBox3< _Precision >::Intersect | ( | const BoundBox2d & | rcBB | ) | const |
Checks for intersection.
References Base::BoundBox2d::MaxX, Base::BoundBox2d::MaxY, Base::BoundBox2d::MinX, and Base::BoundBox2d::MinY.
bool Base::BoundBox3< _Precision >::Intersect | ( | const BoundBox3< _Precision > & | rcBB | ) | const |
Methods for intersection, cuttÃng and union of bounding boxes.
Checks for intersection.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, and Base::BoundBox3< _Precision >::MinZ.
BoundBox3< _Precision > Base::BoundBox3< _Precision >::Intersected | ( | const BoundBox3< _Precision > & | rcBB | ) | const |
Computes the intersection between two bounding boxes.
The result is also a bounding box.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, and Base::BoundBox3< _Precision >::MinZ.
bool Base::BoundBox3< _Precision >::IntersectionPoint | ( | const Vector3< _Precision > & | rcVct, |
const Vector3< _Precision > & | rcVctDir, | ||
Vector3< _Precision > & | cVctRes, | ||
_Precision | epsilon | ||
) | const |
Intersection point of an inner search ray with the bounding box, built of the base rcVct and the direction rcVctDir.
rcVct must lie inside the bounding box.
References Base::BoundBox3< _Precision >::Enlarge(), draftutils.utils::epsilon(), and Base::BoundBox3< _Precision >::IsInBox().
bool Base::BoundBox3< _Precision >::IntersectPlaneWithLine | ( | unsigned short | usSide, |
const Vector3< _Precision > & | rcBase, | ||
const Vector3< _Precision > & | rcDir, | ||
Vector3< _Precision > & | rcP0 | ||
) | const |
Computes the intersection point of line and a plane of the bounding box.
References Base::Vector3< _Precision >::Scale().
bool Base::BoundBox3< _Precision >::IntersectWithLine | ( | const Vector3< _Precision > & | rcBase, |
const Vector3< _Precision > & | rcDir, | ||
Vector3< _Precision > & | rcP0, | ||
Vector3< _Precision > & | rcP1 | ||
) | const |
Computes the intersection points of line and bounding box.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
bool Base::BoundBox3< _Precision >::IsCutLine | ( | const Vector3< _Precision > & | rcBase, |
const Vector3< _Precision > & | rcDir, | ||
_Precision | fTolerance = 0.0f |
||
) | const |
Checks for intersection with line incl.
search tolerance.
References Base::Vector3< _Precision >::Length(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
bool Base::BoundBox3< _Precision >::IsCutPlane | ( | const Vector3< _Precision > & | rclBase, |
const Vector3< _Precision > & | rclNormal | ||
) | const |
Checks if this plane specified by (point,normal) cuts this box.
Referenced by MeshCore::MeshProjection::bboxInsideRectangle(), MeshCore::MeshTrimByPlane::CheckFacets(), MeshCore::MeshAlgorithm::CutWithPlane(), and MeshCore::MeshAlgorithm::GetFacetsFromPlane().
bool Base::BoundBox3< _Precision >::IsInBox | ( | const BoundBox2d & | rcbb | ) | const |
Checks if this 2D box lies inside the box.
References Base::BoundBox2d::MaxX, Base::BoundBox2d::MaxY, Base::BoundBox2d::MinX, and Base::BoundBox2d::MinY.
bool Base::BoundBox3< _Precision >::IsInBox | ( | const BoundBox3< _Precision > & | rcBB | ) | const |
Checks if this 3D box lies inside the box.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, and Base::BoundBox3< _Precision >::MinZ.
bool Base::BoundBox3< _Precision >::IsInBox | ( | const Vector3< _Precision > & | rcVct | ) | const |
Test methods.
Checks if this point lies inside the box.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by MeshCore::MeshGeomFacet::ContainedByOrIntersectBoundingBox(), MeshCore::MeshGeomEdge::ContainedByOrIntersectBoundingBox(), MeshCore::MeshEvalPointOnEdge::Evaluate(), MeshCore::MeshGeomFacet::IntersectBoundingBox(), Base::BoundBox3< _Precision >::IntersectionPoint(), MeshCore::MeshGeomFacet::IntersectWithFacet(), Points::PointsGrid::SearchNearestFromPoint(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), MeshCore::MeshGrid::SearchNearestFromPoint(), MeshCore::MeshPointGrid::Verify(), and Points::PointsGrid::Verify().
bool Base::BoundBox3< _Precision >::IsValid |
Checks whether the bounding box is valid.
Referenced by Mesh::MeshObject::getBoundBox(), TechDraw::DrawProjGroup::getXYPosition(), PartGui::ViewProvider2DObjectGrid::updateData(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::LengthX |
Calculates expansion in x-direction.
Referenced by PathSimulator::PathSim::BeginSimulation(), MeshCore::MeshGrid::CalculateGridLength(), Points::PointsGrid::CalculateGridLength(), MeshCore::MeshAlgorithm::CalculateMinimumGridLength(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Inspection::InspectActualShape::InspectActualShape(), MeshCore::MeshGeomEdge::IntersectBoundingBox(), MeshCore::MeshGeomFacet::IntersectBoundingBox(), MeshCore::MeshEigensystem::MeshEigensystem(), MeshCore::MeshFacetGrid::MeshFacetGrid(), Inspection::MeshInspectGrid::MeshInspectGrid(), MeshCore::MeshPointGrid::MeshPointGrid(), TechDraw::DrawProjGroup::minimumBbViews(), Points::PointsGrid::PointsGrid(), MeshCore::MeshOutput::SaveAsymptote(), DrawingGui::OrthoViews::set_primary(), PartDesignGui::ViewProviderDatumCoordinateSystem::setExtents(), PartDesignGui::ViewProviderDatumPlane::setExtents(), and InspectionGui::ViewProviderInspection::updateData().
_Precision Base::BoundBox3< _Precision >::LengthY |
Calculates expansion in y-direction.
Referenced by PathSimulator::PathSim::BeginSimulation(), MeshCore::MeshGrid::CalculateGridLength(), Points::PointsGrid::CalculateGridLength(), MeshCore::MeshAlgorithm::CalculateMinimumGridLength(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Inspection::InspectActualShape::InspectActualShape(), MeshCore::MeshGeomEdge::IntersectBoundingBox(), MeshCore::MeshGeomFacet::IntersectBoundingBox(), MeshCore::MeshFacetGrid::MeshFacetGrid(), Inspection::MeshInspectGrid::MeshInspectGrid(), MeshCore::MeshPointGrid::MeshPointGrid(), Points::PointsGrid::PointsGrid(), MeshCore::MeshOutput::SaveAsymptote(), DrawingGui::OrthoViews::set_primary(), PartDesignGui::ViewProviderDatumCoordinateSystem::setExtents(), PartDesignGui::ViewProviderDatumPlane::setExtents(), and InspectionGui::ViewProviderInspection::updateData().
_Precision Base::BoundBox3< _Precision >::LengthZ |
Calculates expansion in z-direction.
Referenced by PathSimulator::PathSim::BeginSimulation(), MeshCore::MeshGrid::CalculateGridLength(), Points::PointsGrid::CalculateGridLength(), MeshCore::MeshAlgorithm::CalculateMinimumGridLength(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Inspection::InspectActualShape::InspectActualShape(), MeshCore::MeshGeomEdge::IntersectBoundingBox(), MeshCore::MeshGeomFacet::IntersectBoundingBox(), MeshCore::MeshFacetGrid::MeshFacetGrid(), Inspection::MeshInspectGrid::MeshInspectGrid(), MeshCore::MeshPointGrid::MeshPointGrid(), Points::PointsGrid::PointsGrid(), MeshCore::MeshOutput::SaveAsymptote(), DrawingGui::OrthoViews::set_primary(), PartDesignGui::ViewProviderDatumCoordinateSystem::setExtents(), PartDesignGui::ViewProviderDatumLine::setExtents(), and InspectionGui::ViewProviderInspection::updateData().
void Base::BoundBox3< _Precision >::MoveX | ( | _Precision | f | ) |
Moves in x-direction.
Referenced by TechDraw::DrawProjGroup::getBoundingBox().
void Base::BoundBox3< _Precision >::MoveY | ( | _Precision | f | ) |
Moves in y-direction.
Referenced by TechDraw::DrawProjGroup::getBoundingBox().
void Base::BoundBox3< _Precision >::MoveZ | ( | _Precision | f | ) |
Moves in z-direction.
bool Base::BoundBox3< _Precision >::operator&& | ( | const BoundBox2d & | rcBB | ) | const |
Checks for intersection.
bool Base::BoundBox3< _Precision >::operator&& | ( | const BoundBox3< _Precision > & | rcBB | ) | const |
Checks for intersection.
BoundBox3< _Precision > & Base::BoundBox3< _Precision >::operator= | ( | const BoundBox3< _Precision > & | rcBound | ) |
void Base::BoundBox3< _Precision >::Print | ( | std::ostream & | ) | const |
Prints the values to stream.
BoundBox2d Base::BoundBox3< _Precision >::ProjectBox | ( | const ViewProjMethod * | rclP | ) | const |
Projects the box onto a plane and returns a 2D box.
References Base::BoundBox2d::Add(), Base::BoundBox2d::SetVoid(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
Referenced by MeshCore::MeshTrimming::CheckFacets(), and PartGui::ViewProvider2DObjectGrid::updateData().
void Base::BoundBox3< _Precision >::ScaleX | ( | _Precision | f | ) |
Scales in x-direction.
Referenced by TechDraw::DrawProjGroup::getBoundingBox(), and TechDraw::DrawProjGroup::makeViewBbs().
void Base::BoundBox3< _Precision >::ScaleY | ( | _Precision | f | ) |
Scales in y-direction.
Referenced by TechDraw::DrawProjGroup::getBoundingBox(), and TechDraw::DrawProjGroup::makeViewBbs().
void Base::BoundBox3< _Precision >::ScaleZ | ( | _Precision | f | ) |
Scales in z-direction.
Referenced by TechDraw::DrawProjGroup::getBoundingBox(), and TechDraw::DrawProjGroup::makeViewBbs().
void Base::BoundBox3< _Precision >::SetVoid |
void Base::BoundBox3< _Precision >::Shrink | ( | _Precision | fLen | ) |
Shrinks the box with factor fLen.
BoundBox3< _Precision > Base::BoundBox3< _Precision >::Transformed | ( | const Matrix4D & | mat | ) | const |
Transform the corners of this box with the given matrix and create a new bounding box.
References Base::BoundBox3< _Precision >::Add().
Referenced by Inspection::MeshInspectGrid::InitGrid(), Inspection::InspectNominalFastMesh::InspectNominalFastMesh(), Inspection::InspectNominalMesh::InspectNominalMesh(), Inspection::MeshInspectGrid::MeshInspectGrid(), MeshCore::MeshOutput::SaveX3DContent(), PartDesignGui::ViewProviderDatumLine::setExtents(), and PartDesignGui::ViewProviderDatumPlane::setExtents().
BoundBox3< _Precision > Base::BoundBox3< _Precision >::United | ( | const BoundBox3< _Precision > & | rcBB | ) | const |
The union of two bounding boxes.
References Base::BoundBox3< _Precision >::MaxX, Base::BoundBox3< _Precision >::MaxY, Base::BoundBox3< _Precision >::MaxZ, Base::BoundBox3< _Precision >::MinX, Base::BoundBox3< _Precision >::MinY, and Base::BoundBox3< _Precision >::MinZ.
_Precision Base::BoundBox3< _Precision >::MaxX |
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), MeshCore::PlaneFit::Dimension(), TechDraw::DrawViewPart::getBoxX(), Gui::Dialog::TransformStrategy::getRotationCenter(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), TechDraw::DrawViewSection::sectionLineEnds(), PartDesignGui::ViewProviderDatumPlane::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::MaxY |
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), MeshCore::PlaneFit::Dimension(), TechDraw::DrawViewPart::getBoxY(), Gui::Dialog::TransformStrategy::getRotationCenter(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), PartDesignGui::ViewProviderDatumPlane::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::MaxZ |
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), Gui::Dialog::TransformStrategy::getRotationCenter(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), PartDesignGui::ViewProviderDatumLine::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::MinX |
Public attributes.
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), PathSimulator::PathSim::BeginSimulation(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::PlaneFit::Dimension(), TechDraw::DrawViewPart::getBoxX(), Gui::Dialog::TransformStrategy::getRotationCenter(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), PartGui::SectionCut::SectionCut(), PartDesignGui::ViewProviderDatumPlane::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::MinY |
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), PathSimulator::PathSim::BeginSimulation(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), MeshCore::PlaneFit::Dimension(), TechDraw::DrawViewPart::getBoxY(), Gui::Dialog::TransformStrategy::getRotationCenter(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), PartGui::SectionCut::SectionCut(), PartDesignGui::ViewProviderDatumPlane::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().
_Precision Base::BoundBox3< _Precision >::MinZ |
Referenced by Base::BoundBox3< _Precision >::Add(), Inspection::MeshInspectGrid::AddFacet(), MeshCore::MeshFacetGrid::AddFacet(), PathSimulator::PathSim::BeginSimulation(), Base::BoundBox3< _Precision >::BoundBox3(), Base::BoundBox3< _Precision >::CalcOctant(), MeshGui::SoFCMeshFaceSet::computeBBox(), MeshGui::SoFCMeshOpenEdgeSet::computeBBox(), MeshGui::SoFCMeshNode::computeBBox(), MeshGui::SoFCMeshOpenEdge::computeBBox(), MeshGui::SoFCMeshObjectShape::computeBBox(), MeshGui::SoFCMeshSegmentShape::computeBBox(), MeshGui::SoFCMeshObjectBoundary::computeBBox(), FemGui::ViewProviderFEMMeshBuilder::createMesh(), Gui::Dialog::TransformStrategy::getRotationCenter(), MeshCore::MeshGrid::InitGrid(), Points::PointsGrid::InitGrid(), Inspection::MeshInspectGrid::InitGrid(), Points::PointsGrid::InSide(), MeshCore::MeshGrid::Inside(), Base::BoundBox3< _Precision >::Intersect(), Base::BoundBox3< _Precision >::Intersected(), Base::BoundBox3< _Precision >::IsInBox(), TechDraw::DrawViewSection::isReallyInBox(), MeshInfoWatcher::onSelectionChanged(), Base::BoundBox3< _Precision >::operator=(), MeshCore::MeshFacetGrid::SearchNearestFromPoint(), PartGui::SectionCut::SectionCut(), PartDesignGui::ViewProviderDatumLine::setExtents(), MeshCore::MeshAlgorithm::Surround(), Base::BoundBox3< _Precision >::United(), and Gui::View3DInventorViewer::viewSelection().