Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Using test for testing number of sub-shapes.
[modules/shaper.git]
/
src
/
SketchSolver
/
SketchSolver_ConstraintMultiRotation.cpp
diff --git
a/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
b/src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
index e2839f7b9468cf07b7daa7ec303e8cb6b0582738..910bdaf4f4db6894182828111ca9954b712deec1 100644
(file)
--- a/
src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
+++ b/
src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
@@
-1,3
+1,5
@@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
#include <SketchSolver_ConstraintMultiRotation.h>
#include <SketchSolver_Error.h>
#include <SketchSolver_Manager.h>
#include <SketchSolver_ConstraintMultiRotation.h>
#include <SketchSolver_Error.h>
#include <SketchSolver_Manager.h>
@@
-55,7
+57,8
@@
void SketchSolver_ConstraintMultiRotation::process()
for (; anEntIt != aBaseEntities.end(); ++anEntIt) {
std::list<ConstraintWrapperPtr> aNewConstraints =
aBuilder->createConstraint(myBaseConstraint, myGroupID, mySketchID, myType,
for (; anEntIt != aBaseEntities.end(); ++anEntIt) {
std::list<ConstraintWrapperPtr> aNewConstraints =
aBuilder->createConstraint(myBaseConstraint, myGroupID, mySketchID, myType,
- myAngle, isFullValue, aRotationCenter, EntityWrapperPtr(), std::list<EntityWrapperPtr>(1, *anEntIt));
+ myAngle, isFullValue, aRotationCenter, EntityWrapperPtr(),
+ std::list<EntityWrapperPtr>(1, *anEntIt));
aRotConstraints.insert(aRotConstraints.end(), aNewConstraints.begin(), aNewConstraints.end());
}
myStorage->addConstraint(myBaseConstraint, aRotConstraints);
aRotConstraints.insert(aRotConstraints.end(), aNewConstraints.begin(), aNewConstraints.end());
}
myStorage->addConstraint(myBaseConstraint, aRotConstraints);
@@
-143,8
+146,12
@@
void SketchSolver_ConstraintMultiRotation::adjustConstraint()
myCenterCoord[0] = aParams.front()->value();
myCenterCoord[1] = aParams.back()->value();
myCenterCoord[0] = aParams.front()->value();
myCenterCoord[1] = aParams.back()->value();
- myRotationVal[0] = sin(myAngle * PI / 180.0);
- myRotationVal[1] = cos(myAngle * PI / 180.0);
+ double anAngleValue = myAngle;
+ if (myIsFullValue && myNumberOfCopies > 0)
+ anAngleValue /= myNumberOfCopies;
+
+ myRotationVal[0] = sin(anAngleValue * PI / 180.0);
+ myRotationVal[1] = cos(anAngleValue * PI / 180.0);
SketchSolver_ConstraintMulti::adjustConstraint();
}
SketchSolver_ConstraintMulti::adjustConstraint();
}