0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface
[occt.git] / src / StdPrs / StdPrs_HLRPolyShape.hxx
index 5edfc04..c5af4f2 100644 (file)
 #ifndef _StdPrs_HLRPolyShape_HeaderFile
 #define _StdPrs_HLRPolyShape_HeaderFile
 
-#include <Prs3d_Root.hxx>
-#include <Prs3d_Drawer.hxx>
-
-class TopoDS_Shape;
-class Prs3d_Projector;
-
-//! Instantiates Prs3d_PolyHLRShape to define a
-//! display of a shape where hidden and visible lines are
-//! identified with respect to a given projection.
-//! StdPrs_HLRPolyShape works with a polyhedral
-//! simplification of the shape whereas
-//! StdPrs_HLRShape takes the shape itself into
-//! account. When you use StdPrs_HLRShape, you
-//! obtain an exact result, whereas, when you use
-//! StdPrs_HLRPolyShape, you reduce computation
-//! time but obtain polygonal segments.
+#include <StdPrs_HLRShapeI.hxx>
+
+//! Instantiates Prs3d_PolyHLRShape to define a display of a shape where hidden
+//! and visible lines are identified with respect to a given projection.
+//! StdPrs_HLRPolyShape works with a polyhedral simplification of the shape whereas
+//! StdPrs_HLRShape takes the shape itself into account.
+//! When you use StdPrs_HLRShape, you obtain an exact result, whereas, when you use StdPrs_HLRPolyShape,
+//! you reduce computation time but obtain polygonal segments.
 //! The polygonal algorithm is used.
-class StdPrs_HLRPolyShape  : public Prs3d_Root
+class StdPrs_HLRPolyShape : public StdPrs_HLRShapeI
 {
+  DEFINE_STANDARD_RTTIEXT(StdPrs_HLRPolyShape, StdPrs_HLRShapeI)
 public:
-
-  DEFINE_STANDARD_ALLOC
-
   
-  //! Defines the hidden line removal display of the
-  //! topology aShape in the projection defined by
-  //! aProjector. The shape and the projection are added
-  //! to the display aPresentation, and the attributes of the
-  //! elements present in the aPresentation are defined by
-  //! the attribute manager aDrawer.
-  Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const TopoDS_Shape& aShape, const Handle(Prs3d_Drawer)& aDrawer, const Handle(Prs3d_Projector)& aProjector);
-
-
-
-
-protected:
-
-
-
-
-
-private:
-
-
-
-
+  //! Compute presentation for specified shape.
+  Standard_EXPORT virtual void ComputeHLR (const Handle(Prs3d_Presentation)& thePrs,
+                                           const TopoDS_Shape& theShape,
+                                           const Handle(Prs3d_Drawer)& theDrawer,
+                                           const Handle(Graphic3d_Camera)& theProjector) const Standard_OVERRIDE;
 
 };
 
-
-
-
-
-
-
 #endif // _StdPrs_HLRPolyShape_HeaderFile