if(aType1 == GeomAPI_Shape::VERTEX && aType2 == GeomAPI_Shape::FACE) {
// If first object is vertex and second object is face then set by projection.
setByProjectionOnFace(theObject1, theObject2);
- } /*else if(aType1 == GeomAPI_Shape::EDGE && aType2 == GeomAPI_Shape::EDGE) {
+ } else if (aType1 == GeomAPI_Shape::VERTEX && aType2 == GeomAPI_Shape::EDGE) {
+ // If first object is vertex and second object is edge then set by projection.
+ setByProjectionOnEdge(theObject1, theObject2);
+ } /* else if(aType1 == GeomAPI_Shape::EDGE && aType2 == GeomAPI_Shape::EDGE) {
// If both objects are edges then set by lines intersection.
setByLinesIntersection(theObject1, theObject2);
} */ else if(aType1 == GeomAPI_Shape::EDGE && aType2 == GeomAPI_Shape::FACE) {
execute();
}
+//==================================================================================================
+void ConstructionAPI_Point::setByProjectionOnEdge(const ModelHighAPI_Selection& theVertex,
+ const ModelHighAPI_Selection& theEdge)
+{
+ fillAttribute(ConstructionPlugin_Point::CREATION_METHOD_BY_PROJECTION_ON_EDGE(),
+ mycreationMethod);
+ fillAttribute(theVertex, mypoinToProjectOnEdge);
+ fillAttribute(theEdge, myedgeForPointProjection);
+
+ execute();
+}
+
//==================================================================================================
void ConstructionAPI_Point::setByProjectionOnFace(const ModelHighAPI_Selection& theVertex,
const ModelHighAPI_Selection& theFace)
theDumper << ratio() << ", " << true;
}
theDumper << ", " << reverse()->value();
+ } else if (aMeth == ConstructionPlugin_Point::CREATION_METHOD_BY_PROJECTION_ON_EDGE()) {
+ theDumper << mypoinToProjectOnEdge << ", " << myedgeForPointProjection;
} else if (aMeth == ConstructionPlugin_Point::CREATION_METHOD_BY_PROJECTION_ON_FACE()) {
theDumper << mypoinToProjectOnFace << ", " << myfaceForPointProjection;
}