File indexing completed on 2025-01-18 10:04:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _PrsDim_EqualDistanceRelation_HeaderFile
0018 #define _PrsDim_EqualDistanceRelation_HeaderFile
0019
0020 #include <PrsDim_Relation.hxx>
0021 #include <PrsDim_TypeOfDist.hxx>
0022 #include <DsgPrs_ArrowSide.hxx>
0023
0024 class Geom_Plane;
0025
0026 DEFINE_STANDARD_HANDLE(PrsDim_EqualDistanceRelation, PrsDim_Relation)
0027
0028
0029
0030
0031
0032
0033 class PrsDim_EqualDistanceRelation : public PrsDim_Relation
0034 {
0035 DEFINE_STANDARD_RTTIEXT(PrsDim_EqualDistanceRelation, PrsDim_Relation)
0036 public:
0037
0038
0039
0040
0041
0042
0043 Standard_EXPORT PrsDim_EqualDistanceRelation(const TopoDS_Shape& aShape1, const TopoDS_Shape& aShape2, const TopoDS_Shape& aShape3, const TopoDS_Shape& aShape4, const Handle(Geom_Plane)& aPlane);
0044
0045
0046
0047 void SetShape3 (const TopoDS_Shape& aShape) { myShape3 = aShape; }
0048
0049
0050
0051 const TopoDS_Shape& Shape3() const { return myShape3; }
0052
0053
0054
0055 void SetShape4 (const TopoDS_Shape& aShape) { myShape4 = aShape; }
0056
0057
0058
0059 const TopoDS_Shape& Shape4() const { return myShape4; }
0060
0061 public:
0062
0063
0064
0065
0066 Standard_EXPORT static void ComputeTwoEdgesLength (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real ArrowSize, const TopoDS_Edge& FirstEdge, const TopoDS_Edge& SecondEdge, const Handle(Geom_Plane)& Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box& BndBox, gp_Pnt& Position, gp_Pnt& FirstAttach, gp_Pnt& SecondAttach, gp_Pnt& FirstExtreme, gp_Pnt& SecondExtreme, DsgPrs_ArrowSide& SymbolPrs);
0067
0068
0069
0070 Standard_EXPORT static void ComputeTwoVerticesLength (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real ArrowSize, const TopoDS_Vertex& FirstVertex, const TopoDS_Vertex& SecondVertex, const Handle(Geom_Plane)& Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box& BndBox, const PrsDim_TypeOfDist TypeDist, gp_Pnt& Position, gp_Pnt& FirstAttach, gp_Pnt& SecondAttach, gp_Pnt& FirstExtreme, gp_Pnt& SecondExtreme, DsgPrs_ArrowSide& SymbolPrs);
0071
0072
0073
0074 Standard_EXPORT static void ComputeOneEdgeOneVertexLength (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Real ArrowSize, const TopoDS_Shape& FirstShape, const TopoDS_Shape& SecondShape, const Handle(Geom_Plane)& Plane, const Standard_Boolean AutomaticPos, const Standard_Boolean IsSetBndBox, const Bnd_Box& BndBox, gp_Pnt& Position, gp_Pnt& FirstAttach, gp_Pnt& SecondAttach, gp_Pnt& FirstExtreme, gp_Pnt& SecondExtreme, DsgPrs_ArrowSide& SymbolPrs);
0075
0076 private:
0077
0078 Standard_EXPORT virtual void Compute (const Handle(PrsMgr_PresentationManager)& thePrsMgr,
0079 const Handle(Prs3d_Presentation)& thePrs,
0080 const Standard_Integer theMode) Standard_OVERRIDE;
0081
0082 Standard_EXPORT virtual void ComputeSelection (const Handle(SelectMgr_Selection)& theSel,
0083 const Standard_Integer theMode) Standard_OVERRIDE;
0084
0085 private:
0086
0087 TopoDS_Shape myShape3;
0088 TopoDS_Shape myShape4;
0089 gp_Pnt myAttachPoint1;
0090 gp_Pnt myAttachPoint2;
0091 gp_Pnt myAttachPoint3;
0092 gp_Pnt myAttachPoint4;
0093 gp_Pnt myPoint1;
0094 gp_Pnt myPoint2;
0095 gp_Pnt myPoint3;
0096 gp_Pnt myPoint4;
0097
0098 };
0099
0100 #endif