File indexing completed on 2026-09-13 09:17:37
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _PrsDim_ParallelRelation_HeaderFile
0018 #define _PrsDim_ParallelRelation_HeaderFile
0019
0020 #include <PrsDim_Relation.hxx>
0021 #include <DsgPrs_ArrowSide.hxx>
0022
0023
0024
0025
0026 class PrsDim_ParallelRelation : public PrsDim_Relation
0027 {
0028 DEFINE_STANDARD_RTTIEXT(PrsDim_ParallelRelation, PrsDim_Relation)
0029 public:
0030
0031
0032
0033 Standard_EXPORT PrsDim_ParallelRelation(const TopoDS_Shape& aFShape,
0034 const TopoDS_Shape& aSShape,
0035 const occ::handle<Geom_Plane>& aPlane);
0036
0037
0038
0039
0040
0041
0042 Standard_EXPORT PrsDim_ParallelRelation(const TopoDS_Shape& aFShape,
0043 const TopoDS_Shape& aSShape,
0044 const occ::handle<Geom_Plane>& aPlane,
0045 const gp_Pnt& aPosition,
0046 const DsgPrs_ArrowSide aSymbolPrs,
0047 const double anArrowSize = 0.01);
0048
0049
0050 bool IsMovable() const override { return true; }
0051
0052 private:
0053 Standard_EXPORT void Compute(const occ::handle<PrsMgr_PresentationManager>& thePrsMgr,
0054 const occ::handle<Prs3d_Presentation>& thePrs,
0055 const int theMode) override;
0056
0057 Standard_EXPORT void ComputeSelection(const occ::handle<SelectMgr_Selection>& theSel,
0058 const int theMode) override;
0059
0060 Standard_EXPORT void ComputeTwoFacesParallel(
0061 const occ::handle<Prs3d_Presentation>& aPresentation);
0062
0063 Standard_EXPORT void ComputeTwoEdgesParallel(
0064 const occ::handle<Prs3d_Presentation>& aPresentation);
0065
0066 private:
0067 gp_Pnt myFAttach;
0068 gp_Pnt mySAttach;
0069 gp_Dir myDirAttach;
0070 };
0071
0072 #endif