[TD]fix vertex-edge dimension
This commit is contained in:
@@ -429,7 +429,7 @@ void execDistance(Gui::Command* cmd)
|
||||
StringVector acceptableGeometry({"Edge", "Vertex"});
|
||||
std::vector<int> minimumCounts({1, 2});
|
||||
std::vector<DimensionGeometryType> acceptableDimensionGeometrys(
|
||||
{isVertical, isHorizontal, isDiagonal});
|
||||
{isVertical, isHorizontal, isDiagonal, isHybrid});
|
||||
|
||||
//what 2d geometry configuration did we receive?
|
||||
DimensionGeometryType geometryRefs2d = validateDimSelection(
|
||||
@@ -528,7 +528,7 @@ void execDistanceX(Gui::Command* cmd)
|
||||
//Define the geometric configuration required for a length dimension
|
||||
StringVector acceptableGeometry({"Edge", "Vertex"});
|
||||
std::vector<int> minimumCounts({1, 2});
|
||||
std::vector<DimensionGeometryType> acceptableDimensionGeometrys({isHorizontal, isDiagonal});
|
||||
std::vector<DimensionGeometryType> acceptableDimensionGeometrys({isHorizontal, isDiagonal, isHybrid});
|
||||
|
||||
//what 2d geometry configuration did we receive?
|
||||
DimensionGeometryType geometryRefs2d = validateDimSelection(
|
||||
@@ -627,7 +627,7 @@ void execDistanceY(Gui::Command* cmd)
|
||||
//Define the geometric configuration required for a length dimension
|
||||
StringVector acceptableGeometry({"Edge", "Vertex"});
|
||||
std::vector<int> minimumCounts({1, 2});
|
||||
std::vector<DimensionGeometryType> acceptableDimensionGeometrys({isVertical, isDiagonal});
|
||||
std::vector<DimensionGeometryType> acceptableDimensionGeometrys({isVertical, isDiagonal, isHybrid});
|
||||
|
||||
//what 2d geometry configuration did we receive?
|
||||
DimensionGeometryType geometryRefs2d = validateDimSelection(
|
||||
|
||||
@@ -278,7 +278,12 @@ bool TechDraw::checkGeometryOccurences(StringVector subNames, GeomCountMap keyed
|
||||
//return the first valid configuration contained in the already validated references
|
||||
DimensionGeometryType TechDraw::getGeometryConfiguration(ReferenceVector valid2dReferences)
|
||||
{
|
||||
DimensionGeometryType config = isValidMultiEdge(valid2dReferences);
|
||||
DimensionGeometryType config = isValidHybrid(valid2dReferences);
|
||||
if (config > isInvalid) {
|
||||
return config;
|
||||
}
|
||||
|
||||
config = isValidMultiEdge(valid2dReferences);
|
||||
if (config > isInvalid) {
|
||||
return config;
|
||||
}
|
||||
@@ -290,10 +295,6 @@ DimensionGeometryType TechDraw::getGeometryConfiguration(ReferenceVector valid2d
|
||||
if (config > isInvalid) {
|
||||
return config;
|
||||
}
|
||||
config = isValidHybrid(valid2dReferences);
|
||||
if (config > isInvalid) {
|
||||
return config;
|
||||
}
|
||||
|
||||
// no valid configuration found
|
||||
return isInvalid;
|
||||
@@ -660,7 +661,7 @@ DimensionGeometryType TechDraw::isValidHybrid(ReferenceVector refs)
|
||||
}
|
||||
if (vertexCount > 0 && edgeCount > 0) {
|
||||
//must be a diagonal dim? could it be isHorizontal or isVertical?
|
||||
return isDiagonal;
|
||||
return isHybrid;
|
||||
}
|
||||
|
||||
return isInvalid;
|
||||
@@ -670,7 +671,7 @@ DimensionGeometryType TechDraw::isValidHybrid(ReferenceVector refs)
|
||||
DimensionGeometryType TechDraw::isValidHybrid3d(DrawViewPart* dvp, ReferenceVector refs)
|
||||
{
|
||||
(void)dvp;
|
||||
//we don't have a special check for 3d in this case
|
||||
//we can reuse the 2d check here.
|
||||
return isValidHybrid(refs);
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ enum DimensionGeometryEnum {
|
||||
isAngle3Pt,
|
||||
isMultiEdge,
|
||||
isZLimited,
|
||||
isHybrid,
|
||||
isViewReference //never needs to be specified in the acceptable list
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user