Add options for face detection and cut face edge display
This commit is contained in:
parent
62328bb54c
commit
ae5798434a
|
@ -817,28 +817,20 @@ void DrawViewPart::getRunControl()
|
|||
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/RunControl");
|
||||
m_interAlgo = hGrp->GetInt("InterAlgo", 2l);
|
||||
m_sectionEdges = hGrp->GetInt("ShowSectionEdges", 1l);
|
||||
m_handleFaces = hGrp->GetInt("HandleFaces", 1l);
|
||||
m_sectionEdges = hGrp->GetBool("ShowSectionEdges", 1l);
|
||||
m_handleFaces = hGrp->GetBool("HandleFaces", 1l);
|
||||
// Base::Console().Message("TRACE - DVP::getRunControl - interAlgo: %ld sectionFaces: %ld handleFaces: %ld\n",
|
||||
// m_interAlgo,m_sectionEdges,m_handleFaces);
|
||||
}
|
||||
|
||||
bool DrawViewPart::handleFaces(void)
|
||||
{
|
||||
bool result = false;
|
||||
if (m_handleFaces == 1l) {
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
return m_handleFaces;
|
||||
}
|
||||
|
||||
bool DrawViewPart::showSectionEdges(void)
|
||||
{
|
||||
bool result = false;
|
||||
if (m_sectionEdges == 1l) {
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
return m_sectionEdges;
|
||||
}
|
||||
|
||||
PyObject *DrawViewPart::getPyObject(void)
|
||||
|
|
|
@ -156,8 +156,8 @@ protected:
|
|||
void getRunControl(void);
|
||||
|
||||
long int m_interAlgo;
|
||||
long int m_sectionEdges;
|
||||
long int m_handleFaces;
|
||||
bool m_sectionEdges;
|
||||
bool m_handleFaces;
|
||||
|
||||
private:
|
||||
static App::PropertyFloatConstraint::Constraints floatRange;
|
||||
|
|
|
@ -297,23 +297,25 @@ void QGIViewPart::drawViewPart()
|
|||
removeDecorations();
|
||||
|
||||
#if MOD_TECHDRAW_HANDLE_FACES
|
||||
// Draw Faces
|
||||
std::vector<TechDraw::DrawHatch*> hatchObjs = viewPart->getHatches();
|
||||
const std::vector<TechDrawGeometry::Face *> &faceGeoms = viewPart->getFaceGeometry();
|
||||
std::vector<TechDrawGeometry::Face *>::const_iterator fit = faceGeoms.begin();
|
||||
for(int i = 0 ; fit != faceGeoms.end(); fit++, i++) {
|
||||
QGIFace* newFace = drawFace(*fit,i);
|
||||
TechDraw::DrawHatch* fHatch = faceIsHatched(i,hatchObjs);
|
||||
if (fHatch) {
|
||||
if (!fHatch->HatchPattern.isEmpty()) {
|
||||
App::Color hColor = fHatch->HatchColor.getValue();
|
||||
newFace->setHatchColor(hColor.asCSSString());
|
||||
newFace->setHatch(fHatch->HatchPattern.getValue());
|
||||
if (viewPart->handleFaces()) {
|
||||
// Draw Faces
|
||||
std::vector<TechDraw::DrawHatch*> hatchObjs = viewPart->getHatches();
|
||||
const std::vector<TechDrawGeometry::Face *> &faceGeoms = viewPart->getFaceGeometry();
|
||||
std::vector<TechDrawGeometry::Face *>::const_iterator fit = faceGeoms.begin();
|
||||
for(int i = 0 ; fit != faceGeoms.end(); fit++, i++) {
|
||||
QGIFace* newFace = drawFace(*fit,i);
|
||||
TechDraw::DrawHatch* fHatch = faceIsHatched(i,hatchObjs);
|
||||
if (fHatch) {
|
||||
if (!fHatch->HatchPattern.isEmpty()) {
|
||||
App::Color hColor = fHatch->HatchColor.getValue();
|
||||
newFace->setHatchColor(hColor.asCSSString());
|
||||
newFace->setHatch(fHatch->HatchPattern.getValue());
|
||||
}
|
||||
}
|
||||
newFace->setDrawEdges(false);
|
||||
newFace->setZValue(ZVALUE::FACE);
|
||||
newFace->setPrettyNormal();
|
||||
}
|
||||
newFace->setDrawEdges(false);
|
||||
newFace->setZValue(ZVALUE::FACE);
|
||||
newFace->setPrettyNormal();
|
||||
}
|
||||
#endif //#if MOD_TECHDRAW_HANDLE_FACES
|
||||
|
||||
|
|
|
@ -79,7 +79,11 @@ void QGIViewSection::drawSectionFace()
|
|||
QGIFace* newFace = drawFace(*fit,-1); //TODO: do we need to know which sectionFace this QGIFace came from?
|
||||
newFace->setZValue(ZVALUE::SECTIONFACE);
|
||||
newFace->setFill(faceColor, Qt::SolidPattern);
|
||||
newFace->setDrawEdges(false);
|
||||
if (section->showSectionEdges()) {
|
||||
newFace->setDrawEdges(true);
|
||||
} else {
|
||||
newFace->setDrawEdges(false);
|
||||
}
|
||||
newFace->setPrettyNormal();
|
||||
newFace->setAcceptHoverEvents(false);
|
||||
newFace->setFlag(QGraphicsItem::ItemIsSelectable, false);
|
||||
|
|
Loading…
Reference in New Issue
Block a user