Sketcher/BackEdit: makes sketch elements render on -Z if sketch viewed from back side

This commit is contained in:
0penBrain
2022-08-30 17:36:03 +02:00
committed by wwmayer
parent a6a8f27125
commit 3f220f1dd8
7 changed files with 67 additions and 47 deletions

View File

@@ -424,7 +424,8 @@ void EditModeCoinManager::drawEditMarkers(const std::vector<Base::Vector2d> &Edi
int i=0; // setting up the line set
for (std::vector<Base::Vector2d>::const_iterator it = EditMarkers.begin(); it != EditMarkers.end(); ++it,i++) {
verts[i].setValue(it->x, it->y, drawingParameters.zEdit);
verts[i].setValue(it->x, it->y,
ViewProviderSketchCoinAttorney::getViewOrientationFactor(viewProvider) * drawingParameters.zEdit);
color[i] = drawingParameters.InformationColor;
}
@@ -444,7 +445,8 @@ void EditModeCoinManager::drawEdit(const std::vector<Base::Vector2d> &EditCurve)
int i=0; // setting up the line set
for (std::vector<Base::Vector2d>::const_iterator it = EditCurve.begin(); it != EditCurve.end(); ++it,i++) {
verts[i].setValue(it->x,it->y, drawingParameters.zEdit);
verts[i].setValue(it->x,it->y,
ViewProviderSketchCoinAttorney::getViewOrientationFactor(viewProvider) * drawingParameters.zEdit);
color[i] = drawingParameters.CreateCurveColor;
}
@@ -472,7 +474,8 @@ void EditModeCoinManager::drawEdit(const std::list<std::vector<Base::Vector2d>>
int indexindex=0;
for(const auto & v : list) {
for (const auto & p : v) {
verts[coordindex].setValue(p.x, p.y, drawingParameters.zEdit);
verts[coordindex].setValue(p.x, p.y,
ViewProviderSketchCoinAttorney::getViewOrientationFactor(viewProvider) * drawingParameters.zEdit);
color[coordindex] = drawingParameters.CreateCurveColor;
coordindex++;
}
@@ -489,7 +492,8 @@ void EditModeCoinManager::drawEdit(const std::list<std::vector<Base::Vector2d>>
void EditModeCoinManager::setPositionText(const Base::Vector2d &Pos, const SbString &text)
{
editModeScenegraphNodes.textX->string = text;
editModeScenegraphNodes.textPos->translation = SbVec3f(Pos.x, Pos.y, drawingParameters.zText);
editModeScenegraphNodes.textPos->translation = SbVec3f(Pos.x, Pos.y,
ViewProviderSketchCoinAttorney::getViewOrientationFactor(viewProvider) * drawingParameters.zText);
}
void EditModeCoinManager::setPositionText(const Base::Vector2d &Pos)
@@ -639,10 +643,11 @@ void EditModeCoinManager::processGeometryInformationOverlay(const GeoListFacade
void EditModeCoinManager::updateAxesLength()
{
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(0,SbVec3f(-analysisResults.boundingBoxMagnitudeOrder, 0.0f, drawingParameters.zCross));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(1,SbVec3f(analysisResults.boundingBoxMagnitudeOrder, 0.0f, drawingParameters.zCross));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(2,SbVec3f(0.0f, -analysisResults.boundingBoxMagnitudeOrder, drawingParameters.zCross));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(3,SbVec3f(0.0f, analysisResults.boundingBoxMagnitudeOrder, drawingParameters.zCross));
auto zCrossH = ViewProviderSketchCoinAttorney::getViewOrientationFactor(viewProvider) * drawingParameters.zCross;
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(0,SbVec3f(-analysisResults.boundingBoxMagnitudeOrder, 0.0f, zCrossH));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(1,SbVec3f(analysisResults.boundingBoxMagnitudeOrder, 0.0f, zCrossH));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(2,SbVec3f(0.0f, -analysisResults.boundingBoxMagnitudeOrder, zCrossH));
editModeScenegraphNodes.RootCrossCoordinate->point.set1Value(3,SbVec3f(0.0f, analysisResults.boundingBoxMagnitudeOrder, zCrossH));
}
void EditModeCoinManager::updateGridExtent()