Add options for face detection and cut face edge display

This commit is contained in:
WandererFan 2016-10-04 10:03:07 -04:00 committed by Yorik van Havre
parent 62328bb54c
commit ae5798434a
4 changed files with 28 additions and 30 deletions

View File

@ -817,28 +817,20 @@ void DrawViewPart::getRunControl()
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/RunControl"); .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/RunControl");
m_interAlgo = hGrp->GetInt("InterAlgo", 2l); m_interAlgo = hGrp->GetInt("InterAlgo", 2l);
m_sectionEdges = hGrp->GetInt("ShowSectionEdges", 1l); m_sectionEdges = hGrp->GetBool("ShowSectionEdges", 1l);
m_handleFaces = hGrp->GetInt("HandleFaces", 1l); m_handleFaces = hGrp->GetBool("HandleFaces", 1l);
// Base::Console().Message("TRACE - DVP::getRunControl - interAlgo: %ld sectionFaces: %ld handleFaces: %ld\n", // Base::Console().Message("TRACE - DVP::getRunControl - interAlgo: %ld sectionFaces: %ld handleFaces: %ld\n",
// m_interAlgo,m_sectionEdges,m_handleFaces); // m_interAlgo,m_sectionEdges,m_handleFaces);
} }
bool DrawViewPart::handleFaces(void) bool DrawViewPart::handleFaces(void)
{ {
bool result = false; return m_handleFaces;
if (m_handleFaces == 1l) {
result = true;
}
return result;
} }
bool DrawViewPart::showSectionEdges(void) bool DrawViewPart::showSectionEdges(void)
{ {
bool result = false; return m_sectionEdges;
if (m_sectionEdges == 1l) {
result = true;
}
return result;
} }
PyObject *DrawViewPart::getPyObject(void) PyObject *DrawViewPart::getPyObject(void)

View File

@ -156,8 +156,8 @@ protected:
void getRunControl(void); void getRunControl(void);
long int m_interAlgo; long int m_interAlgo;
long int m_sectionEdges; bool m_sectionEdges;
long int m_handleFaces; bool m_handleFaces;
private: private:
static App::PropertyFloatConstraint::Constraints floatRange; static App::PropertyFloatConstraint::Constraints floatRange;

View File

@ -297,6 +297,7 @@ void QGIViewPart::drawViewPart()
removeDecorations(); removeDecorations();
#if MOD_TECHDRAW_HANDLE_FACES #if MOD_TECHDRAW_HANDLE_FACES
if (viewPart->handleFaces()) {
// Draw Faces // Draw Faces
std::vector<TechDraw::DrawHatch*> hatchObjs = viewPart->getHatches(); std::vector<TechDraw::DrawHatch*> hatchObjs = viewPart->getHatches();
const std::vector<TechDrawGeometry::Face *> &faceGeoms = viewPart->getFaceGeometry(); const std::vector<TechDrawGeometry::Face *> &faceGeoms = viewPart->getFaceGeometry();
@ -315,6 +316,7 @@ void QGIViewPart::drawViewPart()
newFace->setZValue(ZVALUE::FACE); newFace->setZValue(ZVALUE::FACE);
newFace->setPrettyNormal(); newFace->setPrettyNormal();
} }
}
#endif //#if MOD_TECHDRAW_HANDLE_FACES #endif //#if MOD_TECHDRAW_HANDLE_FACES
// Draw Edges // Draw Edges

View File

@ -79,7 +79,11 @@ void QGIViewSection::drawSectionFace()
QGIFace* newFace = drawFace(*fit,-1); //TODO: do we need to know which sectionFace this QGIFace came from? QGIFace* newFace = drawFace(*fit,-1); //TODO: do we need to know which sectionFace this QGIFace came from?
newFace->setZValue(ZVALUE::SECTIONFACE); newFace->setZValue(ZVALUE::SECTIONFACE);
newFace->setFill(faceColor, Qt::SolidPattern); newFace->setFill(faceColor, Qt::SolidPattern);
if (section->showSectionEdges()) {
newFace->setDrawEdges(true);
} else {
newFace->setDrawEdges(false); newFace->setDrawEdges(false);
}
newFace->setPrettyNormal(); newFace->setPrettyNormal();
newFace->setAcceptHoverEvents(false); newFace->setAcceptHoverEvents(false);
newFace->setFlag(QGraphicsItem::ItemIsSelectable, false); newFace->setFlag(QGraphicsItem::ItemIsSelectable, false);