[TD] final fix of compilation after #8141

- in DimensionValidators.h the declarations must not be with TechDrawExport
- add missing precompiled headers

- also fix too long lines (fixed by clang)
- also some re-sorting
- also remove unused headers
This commit is contained in:
Uwe
2023-01-09 12:09:00 +01:00
parent 864ef31d81
commit 2f2480df7b
9 changed files with 99 additions and 81 deletions

View File

@@ -24,8 +24,6 @@
#ifndef _PreComp_
# include <BRep_Tool.hxx>
# include <BRepAdaptor_Curve.hxx>
# include <GeomAbs_CurveType.hxx>
# include <TopAbs_ShapeEnum.hxx>
# include <TopExp.hxx>
#endif //#ifndef _PreComp_
@@ -46,7 +44,8 @@
using namespace TechDraw;
using DU = DrawUtil;
TechDraw::DrawViewPart* TechDraw::getReferencesFromSelection( ReferenceVector& references2d, ReferenceVector& references3d )
TechDraw::DrawViewPart* TechDraw::getReferencesFromSelection(ReferenceVector& references2d,
ReferenceVector& references3d)
{
TechDraw::DrawViewPart* dvp(nullptr);
TechDraw::DrawViewDimension* dim(nullptr);
@@ -96,8 +95,10 @@ TechDraw::DrawViewPart* TechDraw::getReferencesFromSelection( ReferenceVector& r
ReferenceEntry ref(obj3d, sub3d);
references3d.push_back(ref);
}
} else {
Base::Console().Message("DV::getRefsFromSel - %s has no shape!\n", selItem.getObject()->getNameInDocument());
}
else {
Base::Console().Message("DV::getRefsFromSel - %s has no shape!\n",
selItem.getObject()->getNameInDocument());
}
}
}
@@ -112,10 +113,11 @@ TechDraw::DrawViewPart* TechDraw::getReferencesFromSelection( ReferenceVector& r
}
//! verify that the proposed references contains valid geometries from a 2d DrawViewPart.
DimensionGeometryType TechDraw::validateDimSelection(ReferenceVector references, //[(dvp*, std::string),...,(dvp*, std::string)]
StringVector acceptableGeometry, //"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys) //isVertical, isHorizontal, ...
DimensionGeometryType TechDraw::validateDimSelection(
ReferenceVector references, //[(dvp*, std::string),...,(dvp*, std::string)]
StringVector acceptableGeometry,//"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys)//isVertical, isHorizontal, ...
{
StringVector subNames;
TechDraw::DrawViewPart* dvpSave(nullptr);
@@ -176,13 +178,14 @@ DimensionGeometryType TechDraw::validateDimSelection(ReferenceVector references,
}
//! verify that the proposed references contains valid geometries from non-TechDraw objects.
DimensionGeometryType TechDraw::validateDimSelection3d(TechDraw::DrawViewPart* dvp,
ReferenceVector references, //[(dvp*, std::string),...,(dvp*, std::string)]
StringVector acceptableGeometry, //"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys) //isVertical, isHorizontal, ...
DimensionGeometryType TechDraw::validateDimSelection3d(
TechDraw::DrawViewPart* dvp,
ReferenceVector references, //[(dvp*, std::string),...,(dvp*, std::string)]
StringVector acceptableGeometry,//"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys)//isVertical, isHorizontal, ...
{
// Base::Console().Message("DV::validateDimSelection3d() - references: %d\n", references.size());
// Base::Console().Message("DV::validateDimSelection3d() - references: %d\n", references.size());
StringVector subNames;
for (auto& ref : references) {
if (!ref.getSubName().empty()) {
@@ -296,9 +299,9 @@ DimensionGeometryType TechDraw::getGeometryConfiguration(ReferenceVector valid2d
}
//return the first valid configuration contained in the already validated references
DimensionGeometryType TechDraw::getGeometryConfiguration3d(DrawViewPart* dvp, ReferenceVector valid3dReferences)
DimensionGeometryType TechDraw::getGeometryConfiguration3d(DrawViewPart* dvp,
ReferenceVector valid3dReferences)
{
// Base::Console().Message("DV::getGeometryConfig3d() - refs: %d\n", valid3dReferences.size());
//first we check for whole object references
ReferenceVector wholeObjectRefs;
ReferenceVector subElementRefs;
@@ -362,8 +365,9 @@ GeomCountMap TechDraw::loadRequiredCounts(StringVector& acceptableGeometry,
DimensionGeometryType TechDraw::isValidSingleEdge(ReferenceEntry ref)
{
auto objFeat( dynamic_cast<TechDraw::DrawViewPart *>(ref.getObject()) );
if (!objFeat)
if (!objFeat) {
return isInvalid;
}
//the Name starts with "Edge"
std::string geomName = DrawUtil::getGeomTypeFromName(ref.getSubName());
@@ -378,30 +382,34 @@ DimensionGeometryType TechDraw::isValidSingleEdge(ReferenceEntry ref)
return isInvalid;
}
if(geom->geomType == TechDraw::GENERIC) {
if (geom->geomType == TechDraw::GENERIC) {
TechDraw::GenericPtr gen1 = std::static_pointer_cast<TechDraw::Generic>(geom);
if(gen1->points.size() < 2) {
if (gen1->points.size() < 2) {
return isInvalid;
}
Base::Vector3d line = gen1->points.at(1) - gen1->points.at(0);
if(fabs(line.y) < FLT_EPSILON ) {
if (fabs(line.y) < FLT_EPSILON) {
return TechDraw::isHorizontal;
} else if(fabs(line.x) < FLT_EPSILON) {
}
else if (fabs(line.x) < FLT_EPSILON) {
return TechDraw::isVertical;
} else {
}
else {
return TechDraw::isDiagonal;
}
} else if (geom->geomType == TechDraw::CIRCLE ||
geom->geomType == TechDraw::ARCOFCIRCLE ) {
}
else if (geom->geomType == TechDraw::CIRCLE || geom->geomType == TechDraw::ARCOFCIRCLE) {
return isCircle;
} else if (geom->geomType == TechDraw::ELLIPSE ||
geom->geomType == TechDraw::ARCOFELLIPSE) {
}
else if (geom->geomType == TechDraw::ELLIPSE || geom->geomType == TechDraw::ARCOFELLIPSE) {
return isEllipse;
} else if (geom->geomType == TechDraw::BSPLINE) {
TechDraw::BSplinePtr spline = std::static_pointer_cast<TechDraw::BSpline> (geom);
}
else if (geom->geomType == TechDraw::BSPLINE) {
TechDraw::BSplinePtr spline = std::static_pointer_cast<TechDraw::BSpline>(geom);
if (spline->isCircle()) {
return isBSplineCircle;
} else {
}
else {
return isBSpline;
}
}
@@ -429,23 +437,30 @@ DimensionGeometryType TechDraw::isValidSingleEdge3d(DrawViewPart *dvp, Reference
Base::Vector3d point0 = DU::toVector3d(BRep_Tool::Pnt(TopExp::FirstVertex(occEdge)));
Base::Vector3d point1 = DU::toVector3d(BRep_Tool::Pnt(TopExp::LastVertex(occEdge)));
Base::Vector3d line = point1 - point0;
if(fabs(line.y) < FLT_EPSILON ) {
if (fabs(line.y) < FLT_EPSILON) {
return TechDraw::isHorizontal;
} else if(fabs(line.x) < FLT_EPSILON) {
}
else if (fabs(line.x) < FLT_EPSILON) {
return TechDraw::isVertical;
} else if(fabs(line.z) < FLT_EPSILON) {
}
else if (fabs(line.z) < FLT_EPSILON) {
return TechDraw::isZLimited;
} else {
}
else {
return TechDraw::isDiagonal;
}
} else if (adapt.GetType() == GeomAbs_Circle) {
}
else if (adapt.GetType() == GeomAbs_Circle) {
return isCircle;
} else if (adapt.GetType() == GeomAbs_Ellipse) {
}
else if (adapt.GetType() == GeomAbs_Ellipse) {
return isEllipse;
} else if (adapt.GetType() == GeomAbs_BSplineCurve) {
}
else if (adapt.GetType() == GeomAbs_BSplineCurve) {
if (GeometryUtils::isCircle(occEdge)) {
return isBSplineCircle;
} else {
}
else {
return isBSpline;
}
}

View File

@@ -19,13 +19,14 @@
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#ifndef TECHDRAW_DIMENSIONVALIDATORS_H
#define TECHDRAW_DIMENSIONVALIDATORS_H
#include <Mod/TechDraw/TechDrawGlobal.h>
#include <Mod/TechDraw/App/DrawViewDimension.h>
namespace App
{
class Document;
@@ -61,42 +62,41 @@ enum DimensionGeometryEnum {
isViewReference //never needs to be specified in the acceptable list
};
TechDraw::DrawViewPart* TechDrawExport getReferencesFromSelection( ReferenceVector& references2d, ReferenceVector& references3d );
DimensionGeometryType TechDrawExport validateDimSelection(ReferenceVector references,
StringVector acceptableGeometry, //"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys); //isVertical, isHorizontal, ...
DimensionGeometryType TechDrawExport validateDimSelection3d(TechDraw::DrawViewPart* dvp,
ReferenceVector references,
StringVector acceptableGeometry, //"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys); //isVertical, isHorizontal, ...
DrawViewPart* getReferencesFromSelection(ReferenceVector& references2d,
ReferenceVector& references3d);
DimensionGeometryType validateDimSelection(
ReferenceVector references,
StringVector acceptableGeometry,//"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys);//isVertical, isHorizontal, ...
DimensionGeometryType validateDimSelection3d(
DrawViewPart* dvp, ReferenceVector references,
StringVector acceptableGeometry,//"Edge", "Vertex", etc
std::vector<int> minimumCounts, //how many of each geometry are needed for a good dimension
std::vector<DimensionGeometryType> acceptableDimensionGeometrys);//isVertical, isHorizontal, ...
bool TechDrawExport validateSubnameList(StringVector subNames,
GeometrySet acceptableGeometrySet);
bool validateSubnameList(StringVector subNames, GeometrySet acceptableGeometrySet);
DimensionGeometryType TechDrawExport getGeometryConfiguration(TechDraw::ReferenceVector valid2dReferences);
DimensionGeometryType TechDrawExport getGeometryConfiguration3d(TechDraw::DrawViewPart* dvp,
TechDraw::ReferenceVector valid3dReferences);
DimensionGeometryType getGeometryConfiguration(ReferenceVector valid2dReferences);
DimensionGeometryType getGeometryConfiguration3d(DrawViewPart* dvp,
ReferenceVector valid3dReferences);
GeomCountMap TechDrawExport loadRequiredCounts(StringVector& acceptableGeometry,
std::vector<int>& minimumCouts);
bool TechDrawExport checkGeometryOccurences(StringVector subNames,
GeomCountMap keyedMinimumCounts);
GeomCountMap loadRequiredCounts(StringVector& acceptableGeometry,
std::vector<int>& minimumCouts);
bool checkGeometryOccurences(StringVector subNames, GeomCountMap keyedMinimumCounts);
DimensionGeometryType TechDrawExport isValidVertexes(TechDraw::ReferenceVector refs);
DimensionGeometryType TechDrawExport isValidMultiEdge(TechDraw::ReferenceVector refs);
DimensionGeometryType TechDrawExport isValidSingleEdge(TechDraw::ReferenceEntry ref);
DimensionGeometryType TechDrawExport isValidHybrid(TechDraw::ReferenceVector refs);
DimensionGeometryType isValidVertexes(ReferenceVector refs);
DimensionGeometryType isValidMultiEdge(ReferenceVector refs);
DimensionGeometryType isValidSingleEdge(ReferenceEntry ref);
DimensionGeometryType isValidHybrid(ReferenceVector refs);
DimensionGeometryType TechDrawExport isValidVertexes3d(TechDraw::DrawViewPart* dvp, TechDraw::ReferenceVector refs);
DimensionGeometryType TechDrawExport isValidMultiEdge3d(TechDraw::DrawViewPart* dvp, TechDraw::ReferenceVector refs);
DimensionGeometryType TechDrawExport isValidSingleEdge3d(TechDraw::DrawViewPart* dvp, TechDraw::ReferenceEntry ref);
DimensionGeometryType TechDrawExport isValidHybrid3d(TechDraw::DrawViewPart* dvp, TechDraw::ReferenceVector refs);
DimensionGeometryType isValidVertexes3d(DrawViewPart* dvp, ReferenceVector refs);
DimensionGeometryType isValidMultiEdge3d(DrawViewPart* dvp, ReferenceVector refs);
DimensionGeometryType isValidSingleEdge3d(DrawViewPart* dvp, ReferenceEntry ref);
DimensionGeometryType isValidHybrid3d(DrawViewPart* dvp, ReferenceVector refs);
long int TechDrawExport mapGeometryTypeToDimType(long int dimType,
DimensionGeometryType geometry2d,
DimensionGeometryType geometry3d);
long int mapGeometryTypeToDimType(long int dimType, DimensionGeometryType geometry2d,
DimensionGeometryType geometry3d);
}
#endif //TECHDRAW_DIMENSIONVALIDATORS_H

View File

@@ -61,11 +61,14 @@
#include <QXmlResultItems>
// OpenCasCade
#include <BRep_Tool.hxx>
#include <BRepAdaptor_Curve.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepLProp_SLProps.hxx>
#include <gp_Dir.hxx>
#include <gp_Pnt.hxx>
#include <TopExp.hxx>
#include <TopoDS_Shape.hxx>
// Open Inventor

View File

@@ -21,23 +21,22 @@
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QMessageBox>
# include <QMessageBox>
#endif
#include <App/Document.h>
#include <App/DocumentObject.h>
#include <Base/Console.h>
#include <Base/Tools.h>
#include <Mod/TechDraw/App/DrawPage.h>
#include <Mod/TechDraw/App/DrawTemplate.h>
#include "ViewProviderDrawingView.h"
#include "ViewProviderDrawingViewExtension.h"
#include "ViewProviderDrawingView.h"
#include "ViewProviderPage.h"
using namespace TechDrawGui;
EXTENSION_PROPERTY_SOURCE(TechDrawGui::ViewProviderDrawingViewExtension, Gui::ViewProviderExtension)

View File

@@ -28,6 +28,7 @@
#include <Gui/ViewProviderExtensionPython.h>
#include <Mod/TechDraw/TechDrawGlobal.h>
namespace TechDrawGui
{
class ViewProviderDrawingView;

View File

@@ -21,22 +21,21 @@
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QMessageBox>
# include <QMessageBox>
#endif
#include <App/Document.h>
#include <App/DocumentObject.h>
#include <Base/Console.h>
#include <Base/Tools.h>
#include <Mod/TechDraw/App/DrawPage.h>
#include <Mod/TechDraw/App/DrawProjGroupItem.h>
#include <Mod/TechDraw/App/DrawTemplate.h>
#include "ViewProviderPage.h"
#include "ViewProviderPageExtension.h"
#include "ViewProviderPage.h"
using namespace TechDrawGui;

View File

@@ -28,6 +28,7 @@
#include <Gui/ViewProviderExtensionPython.h>
#include <Mod/TechDraw/TechDrawGlobal.h>
namespace TechDrawGui
{
class ViewProviderPage;

View File

@@ -21,22 +21,21 @@
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QMessageBox>
# include <QMessageBox>
#endif
#include <App/Document.h>
#include <App/DocumentObject.h>
#include <Base/Console.h>
#include <Base/Tools.h>
#include <Mod/TechDraw/App/DrawPage.h>
#include <Mod/TechDraw/App/DrawTemplate.h>
#include "ViewProviderTemplateExtension.h"
#include "ViewProviderPage.h"
#include "ViewProviderTemplate.h"
#include "ViewProviderTemplateExtension.h"
using namespace TechDrawGui;

View File

@@ -28,6 +28,7 @@
#include <Gui/ViewProviderExtensionPython.h>
#include <Mod/TechDraw/TechDrawGlobal.h>
namespace TechDrawGui
{
class ViewProviderTemplate;