1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-24 13:50:49 +03:00

0031990: Coding, Draw Harness - Replace C-like pointers to function in Draw_SaveAndRestore class to virtual function

Save/Restore interface has been moved to Draw_Drawable3D base class.
Create a singleton Draw_Params class for DRAW parameters
This commit is contained in:
asuraven
2020-11-03 17:22:14 +03:00
committed by bugmaster
parent 930b466c9b
commit a13df0fee0
60 changed files with 2665 additions and 4185 deletions

View File

@@ -12,11 +12,10 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <DrawTrSurf_Curve.hxx>
#include <Draw_Color.hxx>
#include <Draw_Display.hxx>
#include <Draw_Drawable3D.hxx>
#include <DrawTrSurf_Curve.hxx>
#include <Geom_Curve.hxx>
#include <GeomAdaptor_Curve.hxx>
#include <GeomLProp_CLProps.hxx>
@@ -26,65 +25,61 @@
#include <gp_Pnt2d.hxx>
#include <gp_Vec.hxx>
#include <gp_Vec2d.hxx>
#include <DrawTrSurf.hxx>
#include <DrawTrSurf_Params.hxx>
#include <Precision.hxx>
#include <Standard_Type.hxx>
#include <TColStd_Array1OfReal.hxx>
IMPLEMENT_STANDARD_RTTIEXT(DrawTrSurf_Curve,DrawTrSurf_Drawable)
IMPLEMENT_STANDARD_RTTIEXT(DrawTrSurf_Curve, DrawTrSurf_Drawable)
Standard_Real DrawTrSurf_CurveLimit = 400;
extern Standard_Boolean Draw_Bounds;
//=======================================================================
//function : DrawTrSurf_Curve
//purpose :
//purpose :
//=======================================================================
DrawTrSurf_Curve::DrawTrSurf_Curve (const Handle(Geom_Curve)& C,
const Standard_Boolean DispOrigin) :
DrawTrSurf_Drawable (16, 0.01, 1),
curv(C),
look(Draw_vert),
disporigin(DispOrigin),
dispcurvradius(Standard_False),
radiusmax(1.0e3),
radiusratio(0.1)
const Standard_Boolean DispOrigin)
: DrawTrSurf_Drawable (16, 0.01, 1),
curv (C),
look (Draw_vert),
disporigin (DispOrigin),
dispcurvradius (Standard_False),
radiusmax (1.0e3),
radiusratio (0.1)
{
//
}
//=======================================================================
//function : DrawTrSurf_Curve
//purpose :
//purpose :
//=======================================================================
DrawTrSurf_Curve::DrawTrSurf_Curve (const Handle(Geom_Curve)& C,
const Draw_Color& aColor,
const Standard_Integer Discret,
const Standard_Real Deflection,
const Standard_Integer DrawMode,
const Standard_Boolean DispOrigin,
const Standard_Boolean DispCurvRadius,
const Standard_Real RadiusMax,
const Standard_Real RadiusRatio) :
DrawTrSurf_Drawable (Discret,Deflection, DrawMode),
curv(C),
look(aColor),
disporigin(DispOrigin),
dispcurvradius(DispCurvRadius),
radiusmax(RadiusMax),
radiusratio(RadiusRatio)
DrawTrSurf_Curve::DrawTrSurf_Curve (const Handle(Geom_Curve)& C,
const Draw_Color& aColor,
const Standard_Integer Discret,
const Standard_Real Deflection,
const Standard_Integer DrawMode,
const Standard_Boolean DispOrigin,
const Standard_Boolean DispCurvRadius,
const Standard_Real RadiusMax,
const Standard_Real RadiusRatio)
: DrawTrSurf_Drawable (Discret,Deflection, DrawMode),
curv(C),
look(aColor),
disporigin(DispOrigin),
dispcurvradius(DispCurvRadius),
radiusmax(RadiusMax),
radiusratio(RadiusRatio)
{
//
}
//=======================================================================
//function : DrawOn
//purpose :
//purpose :
//=======================================================================
void DrawTrSurf_Curve::DrawOn (Draw_Display& dis) const
{
Standard_Real First = curv->FirstParameter();
@@ -184,13 +179,11 @@ void DrawTrSurf_Curve::DrawOn (Draw_Display& dis) const
}
}
//=======================================================================
//function : Copy
//purpose :
//purpose :
//=======================================================================
Handle(Draw_Drawable3D) DrawTrSurf_Curve::Copy()const
Handle(Draw_Drawable3D) DrawTrSurf_Curve::Copy() const
{
Handle(DrawTrSurf_Curve) DC = new DrawTrSurf_Curve
(Handle(Geom_Curve)::DownCast(curv->Copy()),
@@ -200,24 +193,41 @@ Handle(Draw_Drawable3D) DrawTrSurf_Curve::Copy()const
return DC;
}
//=======================================================================
//function : Dump
//purpose :
//purpose :
//=======================================================================
void DrawTrSurf_Curve::Dump(Standard_OStream& S)const
void DrawTrSurf_Curve::Dump (Standard_OStream& S) const
{
GeomTools_CurveSet::PrintCurve(curv,S);
GeomTools_CurveSet::PrintCurve (curv, S);
}
//=======================================================================
//function : Save
//purpose :
//=======================================================================
void DrawTrSurf_Curve::Save (Standard_OStream& theOs) const
{
GeomTools_CurveSet::PrintCurve (GetCurve(), theOs, true);
}
//=======================================================================
//function : Restore
//purpose :
//=======================================================================
Handle(Draw_Drawable3D) DrawTrSurf_Curve::Restore (Standard_IStream& theStream)
{
const DrawTrSurf_Params& aParams = DrawTrSurf::Parameters();
Handle(Geom_Curve) aGeomCurve = GeomTools_CurveSet::ReadCurve (theStream);
Handle(DrawTrSurf_Curve) aDrawCurve = new DrawTrSurf_Curve (aGeomCurve, aParams.CurvColor, aParams.Discret, aParams.Deflection, aParams.DrawMode);
return aDrawCurve;
}
//=======================================================================
//function : Whatis
//purpose :
//purpose :
//=======================================================================
void DrawTrSurf_Curve::Whatis(Draw_Interpretor& S)const
void DrawTrSurf_Curve::Whatis (Draw_Interpretor& S) const
{
S << " a 3d curve";
}