X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConstructionAPI%2FConstructionAPI_Point.h;h=8e59114049db4847de574a171b561466940f2d38;hb=f60dc9dd94d5d4b0ea07e3e3cbfd5b3028f0942d;hp=f028db1929174942ce4ccf0b157515549298c67e;hpb=3f02f2a44e42c854cb2b64c9817436e5a27788ab;p=modules%2Fshaper.git diff --git a/src/ConstructionAPI/ConstructionAPI_Point.h b/src/ConstructionAPI/ConstructionAPI_Point.h index f028db192..8e5911404 100644 --- a/src/ConstructionAPI/ConstructionAPI_Point.h +++ b/src/ConstructionAPI/ConstructionAPI_Point.h @@ -63,45 +63,74 @@ public: const ModelHighAPI_Selection& theObject1, const ModelHighAPI_Selection& theObject2); + /// Constructor with values: intersected objects. + CONSTRUCTIONAPI_EXPORT + ConstructionAPI_Point(const std::shared_ptr& theFeature, + const ModelHighAPI_Selection& theObject1, + const ModelHighAPI_Selection& theObject2, + const ModelHighAPI_Selection& theObject3); + + /// Constructor with values: object and circular edge flag. + CONSTRUCTIONAPI_EXPORT + ConstructionAPI_Point(const std::shared_ptr& theFeature, + const ModelHighAPI_Selection& theObject, + const bool theIsCircularEdge = false); + /// Destructor. CONSTRUCTIONAPI_EXPORT virtual ~ConstructionAPI_Point(); - INTERFACE_18(ConstructionPlugin_Point::ID(), - x, ConstructionPlugin_Point::X(), ModelAPI_AttributeDouble, /** X attribute */, - y, ConstructionPlugin_Point::Y(), ModelAPI_AttributeDouble, /** Y attribute */, - z, ConstructionPlugin_Point::Z(), ModelAPI_AttributeDouble, /** Z attribute */, - creationMethod, ConstructionPlugin_Point::CREATION_METHOD(), - ModelAPI_AttributeString, /** Creation method */, - intersectionLine, ConstructionPlugin_Point::INTERSECTION_LINE(), - ModelAPI_AttributeSelection, /** Line for intersection */, - intersectionPlane, ConstructionPlugin_Point::INTERSECTION_PLANE(), - ModelAPI_AttributeSelection, /** Plane for intersection */, - useOffset, ConstructionPlugin_Point::USE_OFFSET(), - ModelAPI_AttributeString, /** Use offset */, - offset, ConstructionPlugin_Point::OFFSET(), - ModelAPI_AttributeDouble, /** Offset */, - reverseOffset, ConstructionPlugin_Point::REVERSE_OFFSET(), - ModelAPI_AttributeBoolean, /** Reverse offset */, - edge, ConstructionPlugin_Point::EDGE(), - ModelAPI_AttributeSelection, /** Edge */, - offsetType, ConstructionPlugin_Point::OFFSET_TYPE(), - ModelAPI_AttributeString, /** Type of the offset on edge */, - distance, ConstructionPlugin_Point::DISTANCE(), - ModelAPI_AttributeDouble, /** Distance */, - ratio, ConstructionPlugin_Point::RATIO(), - ModelAPI_AttributeDouble, /** Ratio */, - reverse, ConstructionPlugin_Point::REVERSE(), - ModelAPI_AttributeBoolean, /** Reverse */, - poinToProjectOnFace, ConstructionPlugin_Point::POINT_TO_PROJECT_ON_FACE(), - ModelAPI_AttributeSelection, /** Point to project on face */, - faceForPointProjection, ConstructionPlugin_Point::FACE_FOR_POINT_PROJECTION(), - ModelAPI_AttributeSelection, /** Face for point projection */, - poinToProjectOnEdge, ConstructionPlugin_Point::POINT_TO_PROJECT_ON_EDGE(), - ModelAPI_AttributeSelection, /** Point to project on edge */, - edgeForPointProjection, ConstructionPlugin_Point::EDGE_FOR_POINT_PROJECTION(), - ModelAPI_AttributeSelection, /** Edge for point projection */) - + INTERFACE_25(ConstructionPlugin_Point::ID(), + point, ConstructionPlugin_Point::POINT3D(), + GeomDataAPI_Point, /** Point attribute */, + creationMethod, ConstructionPlugin_Point::CREATION_METHOD(), + ModelAPI_AttributeString, /** Creation method */, + intersectionType, ConstructionPlugin_Point::INTERSECTION_TYPE(), + ModelAPI_AttributeString, /** Type of the intersection */, + intersectionLine1, ConstructionPlugin_Point::INTERSECTION_LINE_1(), + ModelAPI_AttributeSelection, /** Line for intersection */, + intersectionLine2, ConstructionPlugin_Point::INTERSECTION_LINE_2(), + ModelAPI_AttributeSelection, /** Line for intersection */, + intersectionLine, ConstructionPlugin_Point::INTERSECTION_LINE(), + ModelAPI_AttributeSelection, /** Line for intersection */, + intersectionPlane, ConstructionPlugin_Point::INTERSECTION_PLANE(), + ModelAPI_AttributeSelection, /** Plane for intersection */, + intersectionPlane1, ConstructionPlugin_Point::INTERSECTION_PLANE_1(), + ModelAPI_AttributeSelection, /** Plane for intersection */, + intersectionPlane2, ConstructionPlugin_Point::INTERSECTION_PLANE_2(), + ModelAPI_AttributeSelection, /** Plane for intersection */, + intersectionPlane3, ConstructionPlugin_Point::INTERSECTION_PLANE_3(), + ModelAPI_AttributeSelection, /** Plane for intersection */, + useOffset, ConstructionPlugin_Point::USE_OFFSET(), + ModelAPI_AttributeString, /** Use offset */, + offset, ConstructionPlugin_Point::OFFSET(), + ModelAPI_AttributeDouble, /** Offset */, + reverseOffset, ConstructionPlugin_Point::REVERSE_OFFSET(), + ModelAPI_AttributeBoolean, /** Reverse offset */, + edge, ConstructionPlugin_Point::EDGE(), + ModelAPI_AttributeSelection, /** Edge */, + offsetType, ConstructionPlugin_Point::OFFSET_TYPE(), + ModelAPI_AttributeString, /** Type of the offset on edge */, + distance, ConstructionPlugin_Point::DISTANCE(), + ModelAPI_AttributeDouble, /** Distance */, + ratio, ConstructionPlugin_Point::RATIO(), + ModelAPI_AttributeDouble, /** Ratio */, + reverse, ConstructionPlugin_Point::REVERSE(), + ModelAPI_AttributeBoolean, /** Reverse */, + pointToProject, ConstructionPlugin_Point::POINT_TO_PROJECT(), + ModelAPI_AttributeSelection, /** Point to project*/, + projectionType, ConstructionPlugin_Point::PROJECTION_TYPE(), + ModelAPI_AttributeString, /** Type of the point projection */, + faceForPointProjection, ConstructionPlugin_Point::FACE_FOR_POINT_PROJECTION(), + ModelAPI_AttributeSelection, /** Face for point projection */, + edgeForPointProjection, ConstructionPlugin_Point::EDGE_FOR_POINT_PROJECTION(), + ModelAPI_AttributeSelection, /** Edge for point projection */, + geometricalPropertyType, ConstructionPlugin_Point::GEOMETRICAL_PROPERTY_TYPE(), + ModelAPI_AttributeString, /** Type of the geometrical property */, + objectForCenterOfGravity, ConstructionPlugin_Point::OBJECT_FOR_CENTER_OF_GRAVITY(), + ModelAPI_AttributeSelection, /** Object for center of gravity */, + objectForCenterOfCircle, ConstructionPlugin_Point::OBJECT_FOR_CENTER_OF_CIRCLE(), + ModelAPI_AttributeSelection, /** Object for center of circle */) /// Set point values. CONSTRUCTIONAPI_EXPORT @@ -126,18 +155,30 @@ public: void setByProjectionOnFace(const ModelHighAPI_Selection& theVertex, const ModelHighAPI_Selection& theFace); - /* /// Set lines for intersections. CONSTRUCTIONAPI_EXPORT void setByLinesIntersection(const ModelHighAPI_Selection& theEdge1, const ModelHighAPI_Selection& theEdge2); - */ /// Set line and plane for intersections. CONSTRUCTIONAPI_EXPORT void setByLineAndPlaneIntersection(const ModelHighAPI_Selection& theEdge, const ModelHighAPI_Selection& theFace); + /// Set faces for intersections. + CONSTRUCTIONAPI_EXPORT + void setByPlanesIntersection(const ModelHighAPI_Selection& theFace1, + const ModelHighAPI_Selection& theFace2, + const ModelHighAPI_Selection& theFace3); + + /// Set object for center of gravity. + CONSTRUCTIONAPI_EXPORT + void setByCenterOfGravity(const ModelHighAPI_Selection& theObject); + + /// Set object for center of circular edge. + CONSTRUCTIONAPI_EXPORT + void setByCenterOfCircle(const ModelHighAPI_Selection& theObject); + /// Dump wrapped feature CONSTRUCTIONAPI_EXPORT virtual void dump(ModelHighAPI_Dumper& theDumper) const; @@ -180,4 +221,19 @@ PointPtr addPoint(const std::shared_ptr & thePart, const ModelHighAPI_Double& theDistanceValue, const bool theReverse = false); +/// \ingroup CPPHighAPI +/// \brief Create Point feature as an intersection of selected planes. +CONSTRUCTIONAPI_EXPORT +PointPtr addPoint(const std::shared_ptr & thePart, + const ModelHighAPI_Selection& theObject1, + const ModelHighAPI_Selection& theObject2, + const ModelHighAPI_Selection& theObject3); + +/// \ingroup CPPHighAPI +/// \brief Create Point feature as a geometrical property. +CONSTRUCTIONAPI_EXPORT +PointPtr addPoint(const std::shared_ptr & thePart, + const ModelHighAPI_Selection& theObject, + const bool theIsCircularEdge = false); + #endif /* SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_POINT_H_ */