File indexing completed on 2025-01-18 10:04:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _PrsDim_MidPointRelation_HeaderFile
0017 #define _PrsDim_MidPointRelation_HeaderFile
0018
0019 #include <PrsDim_Relation.hxx>
0020
0021 class Geom_Plane;
0022 class gp_Lin;
0023 class gp_Circ;
0024 class gp_Elips;
0025
0026 DEFINE_STANDARD_HANDLE(PrsDim_MidPointRelation, PrsDim_Relation)
0027
0028
0029 class PrsDim_MidPointRelation : public PrsDim_Relation
0030 {
0031 DEFINE_STANDARD_RTTIEXT(PrsDim_MidPointRelation, PrsDim_Relation)
0032 public:
0033
0034 Standard_EXPORT PrsDim_MidPointRelation(const TopoDS_Shape& aSymmTool, const TopoDS_Shape& FirstShape, const TopoDS_Shape& SecondShape, const Handle(Geom_Plane)& aPlane);
0035
0036 virtual Standard_Boolean IsMovable() const Standard_OVERRIDE { return Standard_True; }
0037
0038 void SetTool (const TopoDS_Shape& aMidPointTool) { myTool = aMidPointTool; }
0039
0040 const TopoDS_Shape& GetTool() const { return myTool; }
0041
0042 private:
0043
0044 Standard_EXPORT virtual void Compute (const Handle(PrsMgr_PresentationManager)& thePrsMgr,
0045 const Handle(Prs3d_Presentation)& thePrs,
0046 const Standard_Integer theMode) Standard_OVERRIDE;
0047
0048 Standard_EXPORT virtual void ComputeSelection (const Handle(SelectMgr_Selection)& theSel,
0049 const Standard_Integer theMode) Standard_OVERRIDE;
0050
0051 Standard_EXPORT void ComputeFaceFromPnt (const Handle(Prs3d_Presentation)& aprs, const Standard_Boolean first);
0052
0053 Standard_EXPORT void ComputeEdgeFromPnt (const Handle(Prs3d_Presentation)& aprs, const Standard_Boolean first);
0054
0055 Standard_EXPORT void ComputeVertexFromPnt (const Handle(Prs3d_Presentation)& aprs, const Standard_Boolean first);
0056
0057 Standard_EXPORT void ComputePointsOnLine (const gp_Lin& aLin, const Standard_Boolean first);
0058
0059 Standard_EXPORT void ComputePointsOnLine (const gp_Pnt& pnt1, const gp_Pnt& pnt2, const Standard_Boolean first);
0060
0061 Standard_EXPORT void ComputePointsOnCirc (const gp_Circ& aCirc, const gp_Pnt& pnt1, const gp_Pnt& pnt2, const Standard_Boolean first);
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075 Standard_EXPORT void ComputePointsOnElips (const gp_Elips& anEll, const gp_Pnt& pnt1, const gp_Pnt& pnt2, const Standard_Boolean first);
0076
0077 private:
0078
0079 TopoDS_Shape myTool;
0080 gp_Pnt myMidPoint;
0081 gp_Pnt myFAttach;
0082 gp_Pnt myFirstPnt1;
0083 gp_Pnt myFirstPnt2;
0084 gp_Pnt mySAttach;
0085 gp_Pnt mySecondPnt1;
0086 gp_Pnt mySecondPnt2;
0087
0088 };
0089
0090 #endif