#815 Preliminary box calculations lacking some clipping

This commit is contained in:
Jacob Støren
2016-09-21 14:21:45 +02:00
parent a9d1f52005
commit 33296e4424
4 changed files with 261 additions and 24 deletions

View File

@@ -64,6 +64,24 @@ RimIntersectionBox::~RimIntersectionBox()
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Mat4d RimIntersectionBox::boxOrigin() const
{
cvf::Mat4d mx(cvf::Mat4d::IDENTITY);
mx.setTranslation(cvf::Vec3d(minXCoord, minYCoord, minZCoord));
return mx;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Vec3d RimIntersectionBox::boxSize() const
{
return cvf::Vec3d(maxXCoord, maxYCoord, maxZCoord) - cvf::Vec3d(minXCoord, minYCoord, minZCoord);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -38,10 +38,13 @@ public:
~RimIntersectionBox();
// Fields
caf::PdmField<QString> name;
caf::PdmField<bool> isActive;
caf::PdmField<QString> name;
caf::PdmField<bool> isActive;
void setModelBoundingBox(cvf::BoundingBox& boundingBox);
cvf::Mat4d boxOrigin() const;
cvf::Vec3d boxSize() const;
void setModelBoundingBox(cvf::BoundingBox& boundingBox);
protected:
virtual caf::PdmFieldHandle* userDescriptionField() override;
@@ -55,14 +58,14 @@ private:
void rebuildGeometryAndScheduleCreateDisplayModel();
private:
caf::PdmField<double> minXCoord;
caf::PdmField<double> minYCoord;
caf::PdmField<double> minZCoord;
caf::PdmField<double> minXCoord;
caf::PdmField<double> minYCoord;
caf::PdmField<double> minZCoord;
caf::PdmField<double> maxXCoord;
caf::PdmField<double> maxYCoord;
caf::PdmField<double> maxZCoord;
caf::PdmField<double> maxXCoord;
caf::PdmField<double> maxYCoord;
caf::PdmField<double> maxZCoord;
cvf::BoundingBox m_boundingBox;
cvf::BoundingBox m_boundingBox;
};