diff --git a/BBox3d.cpp b/BBox3d.cpp index bc19d11..17c9f02 100644 --- a/BBox3d.cpp +++ b/BBox3d.cpp @@ -24,6 +24,13 @@ BBox3d::BBox3d( const Point3d ptP1, const Point3d ptP2) m_ptMax.Set( __max( ptP1.x, ptP2.x), __max( ptP1.y, ptP2.y), __max( ptP1.z, ptP2.z)) ; } +//---------------------------------------------------------------------------- +BBox3d::BBox3d( double dX1, double dY1, double dZ1, double dX2, double dY2, double dZ2) +{ + m_ptMin.Set( __min( dX1, dX2), __min( dY1, dY2), __min( dZ1, dZ2)) ; + m_ptMax.Set( __max( dX1, dX2), __max( dY1, dY2), __max( dZ1, dZ2)) ; +} + //---------------------------------------------------------------------------- void BBox3d::Set( const Point3d ptP1, const Point3d ptP2) @@ -32,6 +39,14 @@ BBox3d::Set( const Point3d ptP1, const Point3d ptP2) m_ptMax.Set( __max( ptP1.x, ptP2.x), __max( ptP1.y, ptP2.y), __max( ptP1.z, ptP2.z)) ; } +//---------------------------------------------------------------------------- +void +BBox3d::Set( double dX1, double dY1, double dZ1, double dX2, double dY2, double dZ2) +{ + m_ptMin.Set( __min( dX1, dX2), __min( dY1, dY2), __min( dZ1, dZ2)) ; + m_ptMax.Set( __max( dX1, dX2), __max( dY1, dY2), __max( dZ1, dZ2)) ; +} + //---------------------------------------------------------------------------- bool BBox3d::IsValid( void) const @@ -119,6 +134,16 @@ BBox3d::GetCenterExtent( Point3d& ptCenter, Vector3d& vtExtent) const return true ; } +//---------------------------------------------------------------------------- +bool +BBox3d::GetCenter( Point3d& ptCenter) const +{ + if ( ! IsValid()) + return false ; + ptCenter = 0.5 * ( m_ptMin + m_ptMax) ; + return true ; +} + //---------------------------------------------------------------------------- bool BBox3d::ToGlob( const Frame3d& frRef) diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 8ff2edd..d13912e 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ