mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,10 +1,41 @@
|
||||
StdPrs_ToolShadedShape.hxx
|
||||
StdPrs_ToolShadedShape.cxx
|
||||
StdPrs_HLRShape.hxx
|
||||
StdPrs_Curve.cxx
|
||||
StdPrs_Curve.hxx
|
||||
StdPrs_DeflectionCurve.cxx
|
||||
StdPrs_DeflectionCurve.hxx
|
||||
StdPrs_HLRPolyShape.cxx
|
||||
StdPrs_HLRPolyShape.hxx
|
||||
StdPrs_HLRShape.cxx
|
||||
StdPrs_HLRShape.hxx
|
||||
StdPrs_HLRToolShape.cxx
|
||||
StdPrs_HLRToolShape.hxx
|
||||
StdPrs_Plane.cxx
|
||||
StdPrs_Plane.hxx
|
||||
StdPrs_Point.hxx
|
||||
StdPrs_PoleCurve.cxx
|
||||
StdPrs_PoleCurve.hxx
|
||||
StdPrs_ShadedShape.cxx
|
||||
StdPrs_ShadedShape.hxx
|
||||
StdPrs_ShadedSurface.cxx
|
||||
StdPrs_ShadedSurface.hxx
|
||||
StdPrs_ToolPoint.cxx
|
||||
StdPrs_ToolPoint.hxx
|
||||
StdPrs_ToolRFace.cxx
|
||||
StdPrs_ToolRFace.hxx
|
||||
StdPrs_ToolShadedShape.cxx
|
||||
StdPrs_ToolShadedShape.hxx
|
||||
StdPrs_ToolVertex.cxx
|
||||
StdPrs_ToolVertex.hxx
|
||||
StdPrs_Vertex.hxx
|
||||
StdPrs_Volume.hxx
|
||||
StdPrs_WFDeflectionRestrictedFace.cxx
|
||||
StdPrs_WFDeflectionRestrictedFace.hxx
|
||||
StdPrs_WFDeflectionShape.hxx
|
||||
StdPrs_WFRestrictedFace.hxx
|
||||
StdPrs_WFDeflectionSurface.cxx
|
||||
StdPrs_WFDeflectionSurface.hxx
|
||||
StdPrs_WFPoleSurface.cxx
|
||||
StdPrs_WFPoleSurface.hxx
|
||||
StdPrs_WFRestrictedFace.cxx
|
||||
StdPrs_WFShape.hxx
|
||||
StdPrs_WFRestrictedFace.hxx
|
||||
StdPrs_WFShape.hxx
|
||||
StdPrs_WFSurface.cxx
|
||||
StdPrs_WFSurface.hxx
|
||||
|
@@ -1,114 +0,0 @@
|
||||
-- Created on: 1992-08-26
|
||||
-- Created by: Jean Louis FRENKEL
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
package StdPrs
|
||||
---Purpose: The StdPrs package provides standard display tools
|
||||
-- for specific geometries and topologies whereas
|
||||
-- Prs3d provides those for generic objects. Among
|
||||
-- these classes are definitions of the display of the
|
||||
-- specific geometry or topology in various display
|
||||
-- modes such as wireframe, shading or hidden line removal mode.
|
||||
|
||||
uses
|
||||
Prs3d,
|
||||
Geom,
|
||||
Geom2d,
|
||||
Adaptor3d,
|
||||
Adaptor2d,
|
||||
GeomAdaptor,
|
||||
Geom2dAdaptor,
|
||||
BRepAdaptor,
|
||||
TopTools,
|
||||
TopoDS,
|
||||
TopExp,
|
||||
TopAbs,
|
||||
BRep,
|
||||
BRepTools,
|
||||
Bnd,
|
||||
TColStd,
|
||||
HLRAlgo,
|
||||
HLRBRep,
|
||||
Quantity,
|
||||
gp,
|
||||
TColgp,
|
||||
Poly,
|
||||
TopLoc,
|
||||
Graphic3d
|
||||
|
||||
is
|
||||
|
||||
enumeration Volume is
|
||||
Volume_Autodetection,
|
||||
Volume_Closed,
|
||||
Volume_Opened
|
||||
end Volume;
|
||||
---Purpose: defines the way how to interpret input shapes
|
||||
-- Volume_Autodetection to perform Autodetection (would split input shape into two groups)
|
||||
-- Volume_Closed as Closed volumes (to activate back-face culling and capping plane algorithms)
|
||||
-- Volume_Opened as Open volumes (shells or solids with holes)
|
||||
|
||||
class ToolPoint;
|
||||
class ToolVertex;
|
||||
class ToolRFace;
|
||||
class HLRToolShape;
|
||||
imported ToolShadedShape from StdPrs;
|
||||
class ShadedShape;
|
||||
|
||||
class PoleCurve;
|
||||
|
||||
class Plane;
|
||||
|
||||
class WFPoleSurface;
|
||||
|
||||
class DeflectionCurve;
|
||||
|
||||
---Category: Wireframe algorithms
|
||||
|
||||
class WFDeflectionSurface;
|
||||
|
||||
class ShadedSurface;
|
||||
|
||||
-----------------------------------------------
|
||||
--- deflection drawing classes :
|
||||
-----------------------------------------------
|
||||
|
||||
class WFDeflectionRestrictedFace;
|
||||
|
||||
class Curve;
|
||||
|
||||
class WFSurface;
|
||||
|
||||
---Category: Hidden lines removal algorithms.
|
||||
|
||||
class HLRPolyShape;
|
||||
|
||||
imported HLRShape;
|
||||
|
||||
imported NListOfSequenceOfPnt from Prs3d;
|
||||
imported NListIteratorOfListOfSequenceOfPnt from Prs3d;
|
||||
|
||||
imported WFShape;
|
||||
imported WFDeflectionShape;
|
||||
|
||||
imported Vertex;
|
||||
imported Point;
|
||||
|
||||
imported WFRestrictedFace;
|
||||
|
||||
end StdPrs;
|
||||
|
||||
|
||||
|
@@ -1,159 +0,0 @@
|
||||
-- Created on: 1995-08-04
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Curve from StdPrs
|
||||
|
||||
--
|
||||
---Purpose: A framework to define display of lines, arcs of circles
|
||||
-- and conic sections.
|
||||
-- This is done with a fixed number of points, which can be modified.
|
||||
|
||||
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
|
||||
uses
|
||||
Curve from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Length from Quantity,
|
||||
SequenceOfPnt from TColgp
|
||||
is
|
||||
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: Adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
-- The aspect is defined by LineAspect in aDrawer.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
U1,U2 : Real from Standard;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: Adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
-- The aspect is defined by LineAspect in aDrawer.
|
||||
-- The drawing will be limited between the points of parameter U1 and U2.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDeflection : Length from Quantity;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
Points : out SequenceOfPnt from TColgp;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
-- The aspect is the current aspect.
|
||||
-- aDeflection is used in the circle case.
|
||||
-- Points give a sequence of curve points.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
U1, U2 : Real from Standard;
|
||||
aDeflection : Length from Quantity;
|
||||
Points : out SequenceOfPnt from TColgp;
|
||||
aNbPoints : Integer from Standard = 30;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve.
|
||||
-- The aspect is the current aspect.
|
||||
-- The drawing will be limited between the points of parameter
|
||||
-- U1 and U2.
|
||||
-- aDeflection is used in the circle case.
|
||||
-- Points give a sequence of curve points.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
|
||||
Match(myclass; X,Y,Z: Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve: Curve from Adaptor3d;
|
||||
aDrawer: Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve is less than aDistance.
|
||||
|
||||
|
||||
Match(myclass; X,Y,Z: Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve: Curve from Adaptor3d;
|
||||
aDeflection: Length from Quantity;
|
||||
aLimit: Real from Standard;
|
||||
aNbPoints : Integer from Standard)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve is less than aDistance.
|
||||
|
||||
|
||||
|
||||
|
||||
Match(myclass; X,Y,Z: Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve: Curve from Adaptor3d;
|
||||
U1,U2 : Real from Standard;
|
||||
aDrawer: Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve aCurve is less than aDistance.
|
||||
-- The drawing is considered between the points
|
||||
-- of parameter U1 and U2;
|
||||
|
||||
|
||||
Match(myclass; X,Y,Z: Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve: Curve from Adaptor3d;
|
||||
U1,U2 : Real from Standard;
|
||||
aDeflection: Length from Quantity;
|
||||
aNbPoints : Integer from Standard)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve aCurve is less than aDistance.
|
||||
-- The drawing is considered between the points
|
||||
-- of parameter U1 and U2;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
end Curve from StdPrs;
|
||||
|
||||
|
||||
|
@@ -17,24 +17,24 @@
|
||||
// Great zoom leads to non-coincidence of
|
||||
// a point and non-infinite lines passing throught this point:
|
||||
|
||||
#include <StdPrs_Curve.ixx>
|
||||
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Adaptor3d_Curve.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <gp_Circ.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_Curve.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
|
||||
|
||||
//==================================================================
|
||||
// function: FindLimits
|
||||
// purpose:
|
||||
|
124
src/StdPrs/StdPrs_Curve.hxx
Normal file
124
src/StdPrs/StdPrs_Curve.hxx
Normal file
@@ -0,0 +1,124 @@
|
||||
// Created on: 1995-08-04
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_Curve_HeaderFile
|
||||
#define _StdPrs_Curve_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Quantity_Length.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Curve;
|
||||
|
||||
|
||||
//! A framework to define display of lines, arcs of circles
|
||||
//! and conic sections.
|
||||
//! This is done with a fixed number of points, which can be modified.
|
||||
class StdPrs_Curve : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
//! The aspect is defined by LineAspect in aDrawer.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! Adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
//! The aspect is defined by LineAspect in aDrawer.
|
||||
//! The drawing will be limited between the points of parameter U1 and U2.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve aCurve.
|
||||
//! The aspect is the current aspect.
|
||||
//! aDeflection is used in the circle case.
|
||||
//! Points give a sequence of curve points.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Curve& aCurve, const Quantity_Length aDeflection, const Handle(Prs3d_Drawer)& aDrawer, TColgp_SequenceOfPnt& Points, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve.
|
||||
//! The aspect is the current aspect.
|
||||
//! The drawing will be limited between the points of parameter
|
||||
//! U1 and U2.
|
||||
//! aDeflection is used in the circle case.
|
||||
//! Points give a sequence of curve points.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Quantity_Length aDeflection, TColgp_SequenceOfPnt& Points, const Standard_Integer aNbPoints = 30, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve is less than aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve is less than aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Quantity_Length aDeflection, const Standard_Real aLimit, const Standard_Integer aNbPoints);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve aCurve is less than aDistance.
|
||||
//! The drawing is considered between the points
|
||||
//! of parameter U1 and U2;
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve aCurve is less than aDistance.
|
||||
//! The drawing is considered between the points
|
||||
//! of parameter U1 and U2;
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Quantity_Length aDeflection, const Standard_Integer aNbPoints);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_Curve_HeaderFile
|
@@ -1,159 +0,0 @@
|
||||
-- Created on: 1992-12-15
|
||||
-- Created by: Jean Louis FRENKEL
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class DeflectionCurve from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
|
||||
---Purpose: A framework to provide display of any curve with
|
||||
-- respect to the maximal chordal deviation defined in
|
||||
-- the Prs3d_Drawer attributes manager.
|
||||
|
||||
uses
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Length from Quantity,
|
||||
Curve from Adaptor3d,
|
||||
SequenceOfPnt from TColgp
|
||||
|
||||
is
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : in out Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve with respect to the maximal chordial deviation defined
|
||||
-- by the drawer aDrawer.
|
||||
-- The aspect is defined by LineAspect in aDrawer.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : in out Curve from Adaptor3d;
|
||||
U1, U2 : Real from Standard;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve with respect to the maximal chordial deviation defined
|
||||
-- by the drawer aDrawer.
|
||||
-- The aspect is defined by LineAspect in aDrawer.
|
||||
-- The drawing will be limited between the points of parameter U1 and U2.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : in out Curve from Adaptor3d;
|
||||
aDeflection : Real from Standard;
|
||||
aLimit : Real from Standard;
|
||||
anAngle : Real from Standard = 0.2;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
-- The aspect is the current aspect
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : in out Curve from Adaptor3d;
|
||||
aDeflection : Real from Standard;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
Points : out SequenceOfPnt from TColgp;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
-- The aspect is the current aspect
|
||||
-- Points give a sequence of curve points.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : in out Curve from Adaptor3d;
|
||||
U1, U2 : Real from Standard;
|
||||
aDeflection : Real from Standard;
|
||||
Points : out SequenceOfPnt from TColgp;
|
||||
anAngle : Real from Standard = 0.2;
|
||||
drawCurve : Boolean from Standard = Standard_True);
|
||||
|
||||
---Purpose: adds to the presentation aPresentation the drawing of the curve
|
||||
-- aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
-- The aspect is the current aspect
|
||||
-- The drawing will be limited between the points of parameter U1 and U2.
|
||||
-- Points give a sequence of curve points.
|
||||
-- If drawCurve equals Standard_False the curve will not be displayed,
|
||||
-- it is used if the curve is a part of some shape and PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
Match(myclass; X, Y, Z : Length from Quantity;
|
||||
aDistance : Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve aCurve with respect of the maximal
|
||||
-- chordial deviation defined by the drawer aDrawer is less then aDistance.
|
||||
|
||||
|
||||
Match(myclass; X, Y, Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
U1, U2 : Real from Standard;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing of the curve aCurve with respect of the maximal
|
||||
-- chordial deviation defined by the drawer aDrawer is less
|
||||
-- then aDistance. The drawing is considered between the points
|
||||
-- of parameter U1 and U2;
|
||||
|
||||
Match(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance : Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDeflection: Real from Standard;
|
||||
aLimit : Real from Standard;
|
||||
anAngle : Real from Standard = 0.2)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing with respect of the maximal chordial deviation
|
||||
-- aDeflection is less then aDistance.
|
||||
|
||||
|
||||
Match(myclass; X, Y, Z : Length from Quantity;
|
||||
aDistance : Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
U1, U2 : Real from Standard;
|
||||
aDeflection : Real from Standard;
|
||||
anAngle : Real from Standard = 0.2)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- drawing with respect of the maximal chordial deviation
|
||||
-- aDeflection is less then aDistance. The drawing is considered
|
||||
-- between the points of parameter U1 and U2;
|
||||
|
||||
end DeflectionCurve from StdPrs;
|
@@ -15,28 +15,28 @@
|
||||
// Great zoom leads to non-coincidence of
|
||||
// a point and non-infinite lines passing throught this point:
|
||||
|
||||
#include <StdPrs_DeflectionCurve.ixx>
|
||||
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Circ.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Adaptor3d_Curve.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <BndLib_Add3dCurve.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <GCPnts_QuasiUniformDeflection.hxx>
|
||||
#include <GCPnts_TangentialDeflection.hxx>
|
||||
#include <gp_Circ.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_DeflectionCurve.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
|
||||
|
||||
//==================================================================
|
||||
// function: GetDeflection
|
||||
// purpose:
|
||||
|
136
src/StdPrs/StdPrs_DeflectionCurve.hxx
Normal file
136
src/StdPrs/StdPrs_DeflectionCurve.hxx
Normal file
@@ -0,0 +1,136 @@
|
||||
// Created on: 1992-12-15
|
||||
// Created by: Jean Louis FRENKEL
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_DeflectionCurve_HeaderFile
|
||||
#define _StdPrs_DeflectionCurve_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
#include <Quantity_Length.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Curve;
|
||||
|
||||
|
||||
//! A framework to provide display of any curve with
|
||||
//! respect to the maximal chordal deviation defined in
|
||||
//! the Prs3d_Drawer attributes manager.
|
||||
class StdPrs_DeflectionCurve : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve with respect to the maximal chordial deviation defined
|
||||
//! by the drawer aDrawer.
|
||||
//! The aspect is defined by LineAspect in aDrawer.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve with respect to the maximal chordial deviation defined
|
||||
//! by the drawer aDrawer.
|
||||
//! The aspect is defined by LineAspect in aDrawer.
|
||||
//! The drawing will be limited between the points of parameter U1 and U2.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
//! The aspect is the current aspect
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real aDeflection, const Standard_Real aLimit, const Standard_Real anAngle = 0.2, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
//! The aspect is the current aspect
|
||||
//! Points give a sequence of curve points.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real aDeflection, const Handle(Prs3d_Drawer)& aDrawer, TColgp_SequenceOfPnt& Points, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! adds to the presentation aPresentation the drawing of the curve
|
||||
//! aCurve with respect to the maximal chordial deviation aDeflection.
|
||||
//! The aspect is the current aspect
|
||||
//! The drawing will be limited between the points of parameter U1 and U2.
|
||||
//! Points give a sequence of curve points.
|
||||
//! If drawCurve equals Standard_False the curve will not be displayed,
|
||||
//! it is used if the curve is a part of some shape and PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Standard_Real aDeflection, TColgp_SequenceOfPnt& Points, const Standard_Real anAngle = 0.2, const Standard_Boolean drawCurve = Standard_True);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve aCurve with respect of the maximal
|
||||
//! chordial deviation defined by the drawer aDrawer is less then aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing of the curve aCurve with respect of the maximal
|
||||
//! chordial deviation defined by the drawer aDrawer is less
|
||||
//! then aDistance. The drawing is considered between the points
|
||||
//! of parameter U1 and U2;
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing with respect of the maximal chordial deviation
|
||||
//! aDeflection is less then aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real aDeflection, const Standard_Real aLimit, const Standard_Real anAngle = 0.2);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! drawing with respect of the maximal chordial deviation
|
||||
//! aDeflection is less then aDistance. The drawing is considered
|
||||
//! between the points of parameter U1 and U2;
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Standard_Real U1, const Standard_Real U2, const Standard_Real aDeflection, const Standard_Real anAngle = 0.2);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_DeflectionCurve_HeaderFile
|
@@ -1,49 +0,0 @@
|
||||
-- Created on: 1995-09-19
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class HLRPolyShape from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
---Purpose: 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.
|
||||
uses
|
||||
Shape from TopoDS,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Projector from Prs3d
|
||||
|
||||
is
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aShape : Shape from TopoDS;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
aProjector : Projector from Prs3d);
|
||||
---Purpose: 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.
|
||||
|
||||
end HLRPolyShape from StdPrs;
|
@@ -14,22 +14,25 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_HLRPolyShape.ixx>
|
||||
|
||||
#include <BRepMesh_IncrementalMesh.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <HLRAlgo_EdgeIterator.hxx>
|
||||
#include <HLRAlgo_EdgeStatus.hxx>
|
||||
#include <HLRBRep_BiPoint.hxx>
|
||||
#include <HLRBRep_ListIteratorOfListOfBPoint.hxx>
|
||||
#include <HLRBRep_ListOfBPoint.hxx>
|
||||
#include <HLRBRep_PolyAlgo.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <Prs3d_Projector.hxx>
|
||||
#include <StdPrs_HLRPolyShape.hxx>
|
||||
#include <StdPrs_WFShape.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
#include <TopAbs.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <BRepMesh_IncrementalMesh.hxx>
|
||||
#include <HLRBRep_PolyAlgo.hxx>
|
||||
#include <HLRBRep_ListOfBPoint.hxx>
|
||||
#include <HLRBRep_BiPoint.hxx>
|
||||
#include <HLRAlgo_EdgeStatus.hxx>
|
||||
#include <HLRAlgo_EdgeIterator.hxx>
|
||||
#include <HLRBRep_ListIteratorOfListOfBPoint.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
|
||||
#define PntX1 ((Standard_Real*)Coordinates)[0]
|
||||
#define PntY1 ((Standard_Real*)Coordinates)[1]
|
||||
|
80
src/StdPrs/StdPrs_HLRPolyShape.hxx
Normal file
80
src/StdPrs/StdPrs_HLRPolyShape.hxx
Normal file
@@ -0,0 +1,80 @@
|
||||
// Created on: 1995-09-19
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_HLRPolyShape_HeaderFile
|
||||
#define _StdPrs_HLRPolyShape_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
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.
|
||||
//! The polygonal algorithm is used.
|
||||
class StdPrs_HLRPolyShape : public Prs3d_Root
|
||||
{
|
||||
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:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_HLRPolyShape_HeaderFile
|
@@ -1,47 +0,0 @@
|
||||
-- Created on: 1993-03-09
|
||||
-- Created by: Jean-Louis Frenkel
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class HLRToolShape from StdPrs
|
||||
|
||||
uses
|
||||
Shape from TopoDS,
|
||||
Curve from BRepAdaptor,
|
||||
Data from HLRBRep,
|
||||
EdgeIterator from HLRAlgo,
|
||||
Projector from HLRAlgo
|
||||
|
||||
is
|
||||
Create (TheShape : Shape from TopoDS;
|
||||
TheProjector: Projector from HLRAlgo)
|
||||
returns HLRToolShape from StdPrs;
|
||||
NbEdges(me) returns Integer from Standard;
|
||||
InitVisible(me: in out; EdgeNumber: Integer from Standard);
|
||||
MoreVisible(me) returns Boolean from Standard;
|
||||
NextVisible(me: in out);
|
||||
Visible(me: in out ; TheEdge : out Curve from BRepAdaptor;
|
||||
U1,U2 : out Real from Standard);
|
||||
InitHidden(me:in out; EdgeNumber: Integer from Standard);
|
||||
MoreHidden(me) returns Boolean from Standard;
|
||||
NextHidden(me: in out);
|
||||
Hidden(me: in out; TheEdge : out Curve from BRepAdaptor;
|
||||
U1,U2 : out Real from Standard);
|
||||
|
||||
fields
|
||||
MyData : Data from HLRBRep;
|
||||
myEdgeIterator : EdgeIterator from HLRAlgo;
|
||||
MyCurrentEdgeNumber : Integer from Standard;
|
||||
|
||||
end HLRToolShape from StdPrs;
|
@@ -12,10 +12,13 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_HLRToolShape.ixx>
|
||||
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <HLRAlgo_Projector.hxx>
|
||||
#include <HLRBRep_Algo.hxx>
|
||||
#include <HLRBRep_Data.hxx>
|
||||
#include <StdPrs_HLRToolShape.hxx>
|
||||
#include <TopoDS_Shape.hxx>
|
||||
|
||||
StdPrs_HLRToolShape::StdPrs_HLRToolShape (
|
||||
const TopoDS_Shape& TheShape,
|
||||
|
88
src/StdPrs/StdPrs_HLRToolShape.hxx
Normal file
88
src/StdPrs/StdPrs_HLRToolShape.hxx
Normal file
@@ -0,0 +1,88 @@
|
||||
// Created on: 1993-03-09
|
||||
// Created by: Jean-Louis Frenkel
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_HLRToolShape_HeaderFile
|
||||
#define _StdPrs_HLRToolShape_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <HLRAlgo_EdgeIterator.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class HLRBRep_Data;
|
||||
class TopoDS_Shape;
|
||||
class HLRAlgo_Projector;
|
||||
class BRepAdaptor_Curve;
|
||||
|
||||
|
||||
|
||||
class StdPrs_HLRToolShape
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT StdPrs_HLRToolShape(const TopoDS_Shape& TheShape, const HLRAlgo_Projector& TheProjector);
|
||||
|
||||
Standard_EXPORT Standard_Integer NbEdges() const;
|
||||
|
||||
Standard_EXPORT void InitVisible (const Standard_Integer EdgeNumber);
|
||||
|
||||
Standard_EXPORT Standard_Boolean MoreVisible() const;
|
||||
|
||||
Standard_EXPORT void NextVisible();
|
||||
|
||||
Standard_EXPORT void Visible (BRepAdaptor_Curve& TheEdge, Standard_Real& U1, Standard_Real& U2);
|
||||
|
||||
Standard_EXPORT void InitHidden (const Standard_Integer EdgeNumber);
|
||||
|
||||
Standard_EXPORT Standard_Boolean MoreHidden() const;
|
||||
|
||||
Standard_EXPORT void NextHidden();
|
||||
|
||||
Standard_EXPORT void Hidden (BRepAdaptor_Curve& TheEdge, Standard_Real& U1, Standard_Real& U2);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
Handle(HLRBRep_Data) MyData;
|
||||
HLRAlgo_EdgeIterator myEdgeIterator;
|
||||
Standard_Integer MyCurrentEdgeNumber;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_HLRToolShape_HeaderFile
|
@@ -1,50 +0,0 @@
|
||||
-- Created on: 1995-07-24
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class Plane from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
---Purpose: A framework to display infinite planes.
|
||||
|
||||
uses
|
||||
Surface from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
TypeOfLinePicking from Prs3d,
|
||||
Length from Quantity
|
||||
|
||||
is
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aPlane : Surface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
|
||||
---Purpose: Defines display of infinite planes.
|
||||
-- The infinite plane aPlane is added to the display
|
||||
-- aPresentation, and the attributes of the display are
|
||||
-- defined by the attribute manager aDrawer.
|
||||
|
||||
Match(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aPlane : Surface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- plane is less than aDistance.
|
||||
|
||||
|
||||
end Plane;
|
@@ -14,22 +14,24 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_Plane.ixx>
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Vertex.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Pln.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Pln.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_ArrayOfSegments.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Graphic3d_Vertex.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_PlaneAspect.hxx>
|
||||
#include <Prs3d.hxx>
|
||||
#include <Geom_Plane.hxx>
|
||||
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_Plane.hxx>
|
||||
|
||||
void StdPrs_Plane::Add (const Handle (Prs3d_Presentation)& aPresentation,
|
||||
const Adaptor3d_Surface& aPlane,
|
||||
|
73
src/StdPrs/StdPrs_Plane.hxx
Normal file
73
src/StdPrs/StdPrs_Plane.hxx
Normal file
@@ -0,0 +1,73 @@
|
||||
// Created on: 1995-07-24
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_Plane_HeaderFile
|
||||
#define _StdPrs_Plane_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Quantity_Length.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Surface;
|
||||
|
||||
|
||||
//! A framework to display infinite planes.
|
||||
class StdPrs_Plane : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Defines display of infinite planes.
|
||||
//! The infinite plane aPlane is added to the display
|
||||
//! aPresentation, and the attributes of the display are
|
||||
//! defined by the attribute manager aDrawer.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Surface& aPlane, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! plane is less than aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Surface& aPlane, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_Plane_HeaderFile
|
@@ -1,68 +0,0 @@
|
||||
-- Created on: 1995-07-24
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class PoleCurve from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
---Purpose: A framework to provide display of Bezier or BSpline curves
|
||||
-- (by drawing a broken line linking the poles of the curve).
|
||||
|
||||
uses
|
||||
Curve from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Length from Quantity
|
||||
|
||||
is
|
||||
|
||||
--- Purpose:
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Defines display of BSpline and Bezier curves.
|
||||
-- Adds the 3D curve aCurve to the
|
||||
-- StdPrs_PoleCurve algorithm. This shape is found in
|
||||
-- the presentation object aPresentation, and its display
|
||||
-- attributes are set in the attribute manager aDrawer.
|
||||
-- The curve object from Adaptor3d provides data from
|
||||
-- a Geom curve. This makes it possible to use the
|
||||
-- surface in a geometric algorithm.
|
||||
|
||||
|
||||
Match(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
---Purpose: returns true if the distance between the point (X,Y,Z) and the
|
||||
-- broken line made of the poles is less then aDistance.
|
||||
|
||||
|
||||
Pick(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aCurve : Curve from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Integer from Standard;
|
||||
---Purpose: returns the pole the most near of the point (X,Y,Z) and
|
||||
-- returns its range. The distance between the pole and
|
||||
-- (X,Y,Z) must be less then aDistance. If no pole corresponds, 0 is returned.
|
||||
|
||||
end PoleCurve from StdPrs;
|
||||
|
||||
|
||||
|
@@ -14,26 +14,26 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_PoleCurve.ixx>
|
||||
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <TColgp_Array1OfPnt.hxx>
|
||||
#include <Adaptor3d_Curve.hxx>
|
||||
#include <Geom_BezierCurve.hxx>
|
||||
#include <Geom_BSplineCurve.hxx>
|
||||
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_Arrow.hxx>
|
||||
#include <Prs3d_ArrowAspect.hxx>
|
||||
#include <Prs3d_LineAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_PoleCurve.hxx>
|
||||
#include <TColgp_Array1OfPnt.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Add
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void StdPrs_PoleCurve::Add (const Handle (Prs3d_Presentation)& aPresentation,
|
||||
const Adaptor3d_Curve& aCurve,
|
||||
const Handle (Prs3d_Drawer)& aDrawer)
|
||||
|
84
src/StdPrs/StdPrs_PoleCurve.hxx
Normal file
84
src/StdPrs/StdPrs_PoleCurve.hxx
Normal file
@@ -0,0 +1,84 @@
|
||||
// Created on: 1995-07-24
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_PoleCurve_HeaderFile
|
||||
#define _StdPrs_PoleCurve_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Quantity_Length.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Curve;
|
||||
|
||||
|
||||
//! A framework to provide display of Bezier or BSpline curves
|
||||
//! (by drawing a broken line linking the poles of the curve).
|
||||
class StdPrs_PoleCurve : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Defines display of BSpline and Bezier curves.
|
||||
//! Adds the 3D curve aCurve to the
|
||||
//! StdPrs_PoleCurve algorithm. This shape is found in
|
||||
//! the presentation object aPresentation, and its display
|
||||
//! attributes are set in the attribute manager aDrawer.
|
||||
//! The curve object from Adaptor3d provides data from
|
||||
//! a Geom curve. This makes it possible to use the
|
||||
//! surface in a geometric algorithm.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns true if the distance between the point (X,Y,Z) and the
|
||||
//! broken line made of the poles is less then aDistance.
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! returns the pole the most near of the point (X,Y,Z) and
|
||||
//! returns its range. The distance between the pole and
|
||||
//! (X,Y,Z) must be less then aDistance. If no pole corresponds, 0 is returned.
|
||||
Standard_EXPORT static Standard_Integer Pick (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Adaptor3d_Curve& aCurve, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_PoleCurve_HeaderFile
|
@@ -1,72 +0,0 @@
|
||||
-- Created on: 1993-09-23
|
||||
-- Created by: Jean Louis FRENKEL
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ShadedShape from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
--- Purpose: Auxiliary procedures to prepare Shaded presentation of specified shape.
|
||||
|
||||
uses
|
||||
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Shape from TopoDS,
|
||||
Pnt2d from gp,
|
||||
Builder from BRep,
|
||||
Compound from TopoDS,
|
||||
Volume from StdPrs
|
||||
|
||||
is
|
||||
|
||||
Add (myclass;
|
||||
thePresentation : Presentation from Prs3d;
|
||||
theShape : Shape from TopoDS;
|
||||
theDrawer : Drawer from Prs3d;
|
||||
theVolume : Volume from StdPrs = StdPrs_Volume_Autodetection);
|
||||
---Purpose: Shades <theShape>.
|
||||
-- @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face
|
||||
-- culling and capping plane algorithms), as Open volumes (shells or solids with holes)
|
||||
-- or to perform Autodetection (would split input shape into two groups)
|
||||
|
||||
Add (myclass;
|
||||
thePresentation : Presentation from Prs3d;
|
||||
theShape : Shape from TopoDS;
|
||||
theDrawer : Drawer from Prs3d;
|
||||
theHasTexels : Boolean from Standard;
|
||||
theUVOrigin : Pnt2d from gp;
|
||||
theUVRepeat : Pnt2d from gp;
|
||||
theUVScale : Pnt2d from gp;
|
||||
theVolume : Volume from StdPrs = StdPrs_Volume_Autodetection);
|
||||
---Purpose: Shades <theShape> with texture coordinates.
|
||||
-- @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face
|
||||
-- culling and capping plane algorithms), as Open volumes (shells or solids with holes)
|
||||
-- or to perform Autodetection (would split input shape into two groups)
|
||||
|
||||
Tessellate (myclass;
|
||||
theShape : Shape from TopoDS;
|
||||
theDrawer : Drawer from Prs3d);
|
||||
---Purpose: Validates triangulation within the shape and performs tessellation if necessary.
|
||||
|
||||
ExploreSolids (myclass;
|
||||
theShape : Shape from TopoDS;
|
||||
theBuilder : Builder from BRep;
|
||||
theClosed : out Compound from TopoDS;
|
||||
theOpened : out Compound from TopoDS;
|
||||
theIgnore1DSubShape : Boolean from Standard);
|
||||
---Purpose: Searches closed and unclosed subshapes in shape structure and puts them
|
||||
-- into two compounds for separate processing of closed and unclosed sub-shapes
|
||||
|
||||
end ShadedShape;
|
85
src/StdPrs/StdPrs_ShadedShape.hxx
Normal file
85
src/StdPrs/StdPrs_ShadedShape.hxx
Normal file
@@ -0,0 +1,85 @@
|
||||
// Created on: 1993-09-23
|
||||
// Created by: Jean Louis FRENKEL
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_ShadedShape_HeaderFile
|
||||
#define _StdPrs_ShadedShape_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <StdPrs_Volume.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class TopoDS_Shape;
|
||||
class gp_Pnt2d;
|
||||
class BRep_Builder;
|
||||
class TopoDS_Compound;
|
||||
|
||||
|
||||
//! Auxiliary procedures to prepare Shaded presentation of specified shape.
|
||||
class StdPrs_ShadedShape : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Shades <theShape>.
|
||||
//! @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face
|
||||
//! culling and capping plane algorithms), as Open volumes (shells or solids with holes)
|
||||
//! or to perform Autodetection (would split input shape into two groups)
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& thePresentation, const TopoDS_Shape& theShape, const Handle(Prs3d_Drawer)& theDrawer, const StdPrs_Volume theVolume = StdPrs_Volume_Autodetection);
|
||||
|
||||
//! Shades <theShape> with texture coordinates.
|
||||
//! @param theVolumeType defines the way how to interpret input shapes - as Closed volumes (to activate back-face
|
||||
//! culling and capping plane algorithms), as Open volumes (shells or solids with holes)
|
||||
//! or to perform Autodetection (would split input shape into two groups)
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& thePresentation, const TopoDS_Shape& theShape, const Handle(Prs3d_Drawer)& theDrawer, const Standard_Boolean theHasTexels, const gp_Pnt2d& theUVOrigin, const gp_Pnt2d& theUVRepeat, const gp_Pnt2d& theUVScale, const StdPrs_Volume theVolume = StdPrs_Volume_Autodetection);
|
||||
|
||||
//! Validates triangulation within the shape and performs tessellation if necessary.
|
||||
Standard_EXPORT static void Tessellate (const TopoDS_Shape& theShape, const Handle(Prs3d_Drawer)& theDrawer);
|
||||
|
||||
//! Searches closed and unclosed subshapes in shape structure and puts them
|
||||
//! into two compounds for separate processing of closed and unclosed sub-shapes
|
||||
Standard_EXPORT static void ExploreSolids (const TopoDS_Shape& theShape, const BRep_Builder& theBuilder, TopoDS_Compound& theClosed, TopoDS_Compound& theOpened, const Standard_Boolean theIgnore1DSubShape);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_ShadedShape_HeaderFile
|
@@ -1,42 +0,0 @@
|
||||
-- Created on: 1995-07-27
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ShadedSurface from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
--- Purpose: Computes the shading presentation of surfaces.
|
||||
-- Draws a surface by drawing the isoparametric curves with respect to
|
||||
-- a maximal chordial deviation.
|
||||
-- The number of isoparametric curves to be drawn and their color are
|
||||
-- controlled by the furnished Drawer.
|
||||
uses
|
||||
Surface from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d
|
||||
|
||||
is
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aSurface : Surface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Adds the surface aSurface to the presentation object aPresentation.
|
||||
-- The surface's display attributes are set in the attribute manager aDrawer.
|
||||
-- The surface object from Adaptor3d provides data
|
||||
-- from a Geom surface in order to use the surface in an algorithm.
|
||||
end ShadedSurface;
|
||||
|
||||
|
||||
|
@@ -14,23 +14,24 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_ShadedSurface.ixx>
|
||||
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Graphic3d_ArrayOfTriangleStrips.hxx>
|
||||
#include <Graphic3d_AspectFillArea3d.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <Prs3d_ShadingAspect.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <Prs3d_ShadingAspect.hxx>
|
||||
#include <StdPrs_ShadedSurface.hxx>
|
||||
#include <TColStd_Array1OfReal.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Add
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void StdPrs_ShadedSurface::Add (const Handle(Prs3d_Presentation)& thePrs,
|
||||
const Adaptor3d_Surface& theSurface,
|
||||
const Handle(Prs3d_Drawer)& theDrawer)
|
||||
|
71
src/StdPrs/StdPrs_ShadedSurface.hxx
Normal file
71
src/StdPrs/StdPrs_ShadedSurface.hxx
Normal file
@@ -0,0 +1,71 @@
|
||||
// Created on: 1995-07-27
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_ShadedSurface_HeaderFile
|
||||
#define _StdPrs_ShadedSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Surface;
|
||||
|
||||
|
||||
//! Computes the shading presentation of surfaces.
|
||||
//! Draws a surface by drawing the isoparametric curves with respect to
|
||||
//! a maximal chordial deviation.
|
||||
//! The number of isoparametric curves to be drawn and their color are
|
||||
//! controlled by the furnished Drawer.
|
||||
class StdPrs_ShadedSurface : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Adds the surface aSurface to the presentation object aPresentation.
|
||||
//! The surface's display attributes are set in the attribute manager aDrawer.
|
||||
//! The surface object from Adaptor3d provides data
|
||||
//! from a Geom surface in order to use the surface in an algorithm.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Surface& aSurface, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_ShadedSurface_HeaderFile
|
@@ -1,24 +0,0 @@
|
||||
-- Created on: 1992-12-16
|
||||
-- Created by: Jean Louis FRENKEL
|
||||
-- Copyright (c) 1992-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ToolPoint from StdPrs
|
||||
uses
|
||||
Length from Quantity,
|
||||
Point from Geom
|
||||
is
|
||||
Coord( myclass; aPoint: Point from Geom; X,Y,Z: out Length from Quantity);
|
||||
|
||||
end ToolPoint from StdPrs;
|
@@ -14,8 +14,9 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_ToolPoint.ixx>
|
||||
|
||||
#include <Geom_Point.hxx>
|
||||
#include <StdPrs_ToolPoint.hxx>
|
||||
|
||||
void StdPrs_ToolPoint::Coord (const Handle(Geom_Point)& aPoint,
|
||||
Standard_Real& X,
|
||||
|
61
src/StdPrs/StdPrs_ToolPoint.hxx
Normal file
61
src/StdPrs/StdPrs_ToolPoint.hxx
Normal file
@@ -0,0 +1,61 @@
|
||||
// Created on: 1992-12-16
|
||||
// Created by: Jean Louis FRENKEL
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_ToolPoint_HeaderFile
|
||||
#define _StdPrs_ToolPoint_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Quantity_Length.hxx>
|
||||
class Geom_Point;
|
||||
|
||||
|
||||
|
||||
class StdPrs_ToolPoint
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT static void Coord (const Handle(Geom_Point)& aPoint, Quantity_Length& X, Quantity_Length& Y, Quantity_Length& Z);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_ToolPoint_HeaderFile
|
@@ -1,54 +0,0 @@
|
||||
-- Created on: 1993-01-26
|
||||
-- Created by: Jean-Louis FRENKEL
|
||||
-- Copyright (c) 1993-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ToolRFace from StdPrs
|
||||
|
||||
---Purpose:
|
||||
uses
|
||||
Curve from Geom2dAdaptor,
|
||||
Face from TopoDS,
|
||||
HSurface from BRepAdaptor,
|
||||
Curve2dPtr from Adaptor2d,
|
||||
Orientation from TopAbs,
|
||||
Explorer from TopExp
|
||||
|
||||
is
|
||||
Create returns ToolRFace from StdPrs;
|
||||
|
||||
Create ( aSurface :HSurface from BRepAdaptor )
|
||||
returns ToolRFace from StdPrs;
|
||||
|
||||
IsOriented (me) returns Boolean from Standard;
|
||||
|
||||
Init(me: in out);
|
||||
|
||||
|
||||
More(me) returns Boolean from Standard;
|
||||
|
||||
Next(me: in out);
|
||||
|
||||
Value(me) returns Curve2dPtr from Adaptor2d;
|
||||
|
||||
Orientation(me) returns Orientation from TopAbs;
|
||||
|
||||
fields
|
||||
myFace : Face from TopoDS;
|
||||
myExplorer : Explorer from TopExp;
|
||||
DummyCurve : Curve from Geom2dAdaptor;
|
||||
|
||||
end ToolRFace;
|
||||
|
||||
|
@@ -12,17 +12,18 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_ToolRFace.ixx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <Geom2d_TrimmedCurve.hxx>
|
||||
#include <StdPrs_ToolRFace.hxx>
|
||||
#include <TopoDS.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : StdPrs_ToolRFace
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
StdPrs_ToolRFace::StdPrs_ToolRFace()
|
||||
{
|
||||
}
|
||||
|
83
src/StdPrs/StdPrs_ToolRFace.hxx
Normal file
83
src/StdPrs/StdPrs_ToolRFace.hxx
Normal file
@@ -0,0 +1,83 @@
|
||||
// Created on: 1993-01-26
|
||||
// Created by: Jean-Louis FRENKEL
|
||||
// Copyright (c) 1993-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_ToolRFace_HeaderFile
|
||||
#define _StdPrs_ToolRFace_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <TopExp_Explorer.hxx>
|
||||
#include <Geom2dAdaptor_Curve.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Adaptor2d_Curve2dPtr.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
class BRepAdaptor_HSurface;
|
||||
|
||||
|
||||
|
||||
class StdPrs_ToolRFace
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT StdPrs_ToolRFace();
|
||||
|
||||
Standard_EXPORT StdPrs_ToolRFace(const Handle(BRepAdaptor_HSurface)& aSurface);
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsOriented() const;
|
||||
|
||||
Standard_EXPORT void Init();
|
||||
|
||||
Standard_EXPORT Standard_Boolean More() const;
|
||||
|
||||
Standard_EXPORT void Next();
|
||||
|
||||
Standard_EXPORT Adaptor2d_Curve2dPtr Value() const;
|
||||
|
||||
Standard_EXPORT TopAbs_Orientation Orientation() const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TopoDS_Face myFace;
|
||||
TopExp_Explorer myExplorer;
|
||||
Geom2dAdaptor_Curve DummyCurve;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_ToolRFace_HeaderFile
|
@@ -1,24 +0,0 @@
|
||||
-- Created on: 1994-05-18
|
||||
-- Created by: Laurent PAINNOT
|
||||
-- Copyright (c) 1994-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class ToolVertex from StdPrs
|
||||
uses
|
||||
Length from Quantity,
|
||||
Vertex from TopoDS
|
||||
is
|
||||
Coord( myclass; aPoint: Vertex from TopoDS; X,Y,Z: out Length from Quantity);
|
||||
|
||||
end ToolVertex from StdPrs;
|
@@ -13,10 +13,11 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_ToolVertex.ixx>
|
||||
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
|
||||
#include <StdPrs_ToolVertex.hxx>
|
||||
#include <TopoDS_Vertex.hxx>
|
||||
|
||||
void StdPrs_ToolVertex::Coord (const TopoDS_Vertex& aVertex,
|
||||
Standard_Real& X,
|
||||
|
61
src/StdPrs/StdPrs_ToolVertex.hxx
Normal file
61
src/StdPrs/StdPrs_ToolVertex.hxx
Normal file
@@ -0,0 +1,61 @@
|
||||
// Created on: 1994-05-18
|
||||
// Created by: Laurent PAINNOT
|
||||
// Copyright (c) 1994-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_ToolVertex_HeaderFile
|
||||
#define _StdPrs_ToolVertex_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Quantity_Length.hxx>
|
||||
class TopoDS_Vertex;
|
||||
|
||||
|
||||
|
||||
class StdPrs_ToolVertex
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT static void Coord (const TopoDS_Vertex& aPoint, Quantity_Length& X, Quantity_Length& Y, Quantity_Length& Z);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_ToolVertex_HeaderFile
|
31
src/StdPrs/StdPrs_Volume.hxx
Normal file
31
src/StdPrs/StdPrs_Volume.hxx
Normal file
@@ -0,0 +1,31 @@
|
||||
// Created on: 1992-08-26
|
||||
// Created by: Jean Louis FRENKEL
|
||||
// Copyright (c) 1992-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_Volume_HeaderFile
|
||||
#define _StdPrs_Volume_HeaderFile
|
||||
|
||||
//! defines the way how to interpret input shapes
|
||||
//! Volume_Autodetection to perform Autodetection (would split input shape into two groups)
|
||||
//! Volume_Closed as Closed volumes (to activate back-face culling and capping plane algorithms)
|
||||
//! Volume_Opened as Open volumes (shells or solids with holes)
|
||||
enum StdPrs_Volume
|
||||
{
|
||||
StdPrs_Volume_Autodetection,
|
||||
StdPrs_Volume_Closed,
|
||||
StdPrs_Volume_Opened
|
||||
};
|
||||
|
||||
#endif // _StdPrs_Volume_HeaderFile
|
@@ -1,153 +0,0 @@
|
||||
-- Created on: 1995-08-07
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class WFDeflectionRestrictedFace from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
|
||||
---Purpose: A framework to provide display of U and V
|
||||
-- isoparameters of faces, while allowing you to impose
|
||||
-- a deflection on them.
|
||||
-- Computes the wireframe presentation of faces with
|
||||
-- restrictions by displaying a given number of U and/or
|
||||
-- V isoparametric curves. The isoparametric curves are
|
||||
-- drawn with respect to a maximal chordial deviation.
|
||||
-- The presentation includes the restriction curves.
|
||||
|
||||
uses
|
||||
Box from Bnd,
|
||||
HSurface from BRepAdaptor,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d,
|
||||
Length from Quantity,
|
||||
NListOfSequenceOfPnt from Prs3d
|
||||
|
||||
is
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Defines a display featuring U and V isoparameters.
|
||||
-- Adds the surface aFace to the
|
||||
-- StdPrs_WFRestrictedFace algorithm. This face is
|
||||
-- found in a shape in the presentation object
|
||||
-- aPresentation, and its display attributes - in
|
||||
-- particular, the number of U and V isoparameters - are
|
||||
-- set in the attribute manager aDrawer.
|
||||
-- aFace is BRepAdaptor_HSurface surface created
|
||||
-- from a face in a topological shape. which is passed
|
||||
-- as an argument through the
|
||||
-- BRepAdaptor_HSurface surface created from it.
|
||||
-- This is what allows the topological face to be treated
|
||||
-- as a geometric surface.
|
||||
|
||||
AddUIso(myclass; aPresentation: Presentation from Prs3d;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Defines a display featuring U isoparameters
|
||||
-- respectively. Add the surface aFace to the
|
||||
-- StdPrs_WFRestrictedFace algorithm. This face
|
||||
-- is found in a shape in the presentation object
|
||||
-- aPresentation, and its display attributes - in
|
||||
-- particular, the number of U isoparameters -
|
||||
-- are set in the attribute manager aDrawer.
|
||||
-- aFace is BRepAdaptor_HSurface surface
|
||||
-- created from a face in a topological shape. which
|
||||
-- is passed to the function as an argument through
|
||||
-- the BRepAdaptor_HSurface surface created from
|
||||
-- it. This is what allows the topological face to be
|
||||
-- treated as a geometric surface.
|
||||
|
||||
AddVIso(myclass; aPresentation: Presentation from Prs3d;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Defines a display featuring V isoparameters
|
||||
-- respectively. Add the surface aFace to the
|
||||
-- StdPrs_WFRestrictedFace algorithm. This face
|
||||
-- is found in a shape in the presentation object
|
||||
-- aPresentation, and its display attributes - in
|
||||
-- particular, the number of V isoparameters -
|
||||
-- are set in the attribute manager aDrawer.
|
||||
-- aFace is BRepAdaptor_HSurface surface
|
||||
-- created from a face in a topological shape. which
|
||||
-- is passed to the function as an argument through
|
||||
-- the BRepAdaptor_HSurface surface created from
|
||||
-- it. This is what allows the topological face to be
|
||||
-- treated as a geometric surface.
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
DrawUIso, DrawVIso: Boolean from Standard;
|
||||
Deflection : Length from Quantity;
|
||||
NBUiso,NBViso: Integer from Standard;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
Curves : out NListOfSequenceOfPnt from Prs3d);
|
||||
---Purpose: Defines a display of a delection-specified face. The
|
||||
-- display will feature U and V isoparameters.
|
||||
-- Adds the topology aShape to the
|
||||
-- StdPrs_WFRestrictedFace algorithm. This shape is
|
||||
-- found in the presentation object aPresentation, and
|
||||
-- its display attributes - except the number of U and V
|
||||
-- isoparameters - are set in the attribute manager aDrawer.
|
||||
-- The function sets the number of U and V
|
||||
-- isoparameters, NBUiso and NBViso, in the shape. To
|
||||
-- do this, the arguments DrawUIso and DrawVIso must be true.
|
||||
-- aFace is BRepAdaptor_HSurface surface created
|
||||
-- from a face in a topological shape. which is passed
|
||||
-- as an argument through the
|
||||
-- BRepAdaptor_HSurface surface created from it.
|
||||
-- This is what allows the topological face to be treated
|
||||
-- as a geometric surface.
|
||||
-- Curves give a sequence of face curves, it is used if the PrimitiveArray
|
||||
-- visualization approach is activated (it is activated by default).
|
||||
|
||||
AddBox (myclass;
|
||||
thePrs : Presentation from Prs3d;
|
||||
theBndBox : Box from Bnd;
|
||||
theDrawer : Drawer from Prs3d);
|
||||
---Purpose: Adds box as polyline to the presentation object
|
||||
|
||||
Match(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
MatchUIso(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
MatchVIso(myclass; X,Y,Z : Length from Quantity;
|
||||
aDistance: Length from Quantity;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d)
|
||||
returns Boolean from Standard;
|
||||
|
||||
|
||||
Match(myclass;X,Y,Z : Length from Quantity;
|
||||
aDistance : Length from Quantity;
|
||||
aFace : HSurface from BRepAdaptor;
|
||||
aDrawer : Drawer from Prs3d;
|
||||
DrawUIso, DrawVIso: Boolean from Standard;
|
||||
aDeflection : Length from Quantity;
|
||||
NBUiso,NBViso: Integer from Standard)
|
||||
|
||||
returns Boolean from Standard;
|
||||
|
||||
end WFDeflectionRestrictedFace;
|
||||
|
@@ -14,33 +14,33 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_WFDeflectionRestrictedFace.ixx>
|
||||
|
||||
#include <Hatch_Hatcher.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <Adaptor3d_IsoCurve.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <Bnd_Box2d.hxx>
|
||||
#include <BndLib_Add2dCurve.hxx>
|
||||
#include <BRepAdaptor_HSurface.hxx>
|
||||
#include <GCPnts_QuasiUniformDeflection.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <GeomAbs_SurfaceType.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_AspectLine3d.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Pnt2d.hxx>
|
||||
#include <Hatch_Hatcher.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Adaptor2d_Curve2d.hxx>
|
||||
#include <GCPnts_QuasiUniformDeflection.hxx>
|
||||
#include <Adaptor3d_IsoCurve.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_DeflectionCurve.hxx>
|
||||
#include <StdPrs_ToolRFace.hxx>
|
||||
#include <Bnd_Box2d.hxx>
|
||||
#include <BndLib_Add2dCurve.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <GeomAdaptor_Curve.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <GeomAbs_SurfaceType.hxx>
|
||||
#include <Geom_Surface.hxx>
|
||||
#include <StdPrs_WFDeflectionRestrictedFace.hxx>
|
||||
#include <TColgp_SequenceOfPnt2d.hxx>
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef OCCT_DEBUG_MESH
|
||||
#include <OSD_Chronometer.hxx>
|
||||
extern OSD_Chronometer FFaceTimer1,FFaceTimer2,FFaceTimer3,FFaceTimer4;
|
||||
|
149
src/StdPrs/StdPrs_WFDeflectionRestrictedFace.hxx
Normal file
149
src/StdPrs/StdPrs_WFDeflectionRestrictedFace.hxx
Normal file
@@ -0,0 +1,149 @@
|
||||
// Created on: 1995-08-07
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_WFDeflectionRestrictedFace_HeaderFile
|
||||
#define _StdPrs_WFDeflectionRestrictedFace_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Quantity_Length.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <Prs3d_NListOfSequenceOfPnt.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class BRepAdaptor_HSurface;
|
||||
class Bnd_Box;
|
||||
|
||||
|
||||
//! A framework to provide display of U and V
|
||||
//! isoparameters of faces, while allowing you to impose
|
||||
//! a deflection on them.
|
||||
//! Computes the wireframe presentation of faces with
|
||||
//! restrictions by displaying a given number of U and/or
|
||||
//! V isoparametric curves. The isoparametric curves are
|
||||
//! drawn with respect to a maximal chordial deviation.
|
||||
//! The presentation includes the restriction curves.
|
||||
class StdPrs_WFDeflectionRestrictedFace : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Defines a display featuring U and V isoparameters.
|
||||
//! Adds the surface aFace to the
|
||||
//! StdPrs_WFRestrictedFace algorithm. This face is
|
||||
//! found in a shape in the presentation object
|
||||
//! aPresentation, and its display attributes - in
|
||||
//! particular, the number of U and V isoparameters - are
|
||||
//! set in the attribute manager aDrawer.
|
||||
//! aFace is BRepAdaptor_HSurface surface created
|
||||
//! from a face in a topological shape. which is passed
|
||||
//! as an argument through the
|
||||
//! BRepAdaptor_HSurface surface created from it.
|
||||
//! This is what allows the topological face to be treated
|
||||
//! as a geometric surface.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! Defines a display featuring U isoparameters
|
||||
//! respectively. Add the surface aFace to the
|
||||
//! StdPrs_WFRestrictedFace algorithm. This face
|
||||
//! is found in a shape in the presentation object
|
||||
//! aPresentation, and its display attributes - in
|
||||
//! particular, the number of U isoparameters -
|
||||
//! are set in the attribute manager aDrawer.
|
||||
//! aFace is BRepAdaptor_HSurface surface
|
||||
//! created from a face in a topological shape. which
|
||||
//! is passed to the function as an argument through
|
||||
//! the BRepAdaptor_HSurface surface created from
|
||||
//! it. This is what allows the topological face to be
|
||||
//! treated as a geometric surface.
|
||||
Standard_EXPORT static void AddUIso (const Handle(Prs3d_Presentation)& aPresentation, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! Defines a display featuring V isoparameters
|
||||
//! respectively. Add the surface aFace to the
|
||||
//! StdPrs_WFRestrictedFace algorithm. This face
|
||||
//! is found in a shape in the presentation object
|
||||
//! aPresentation, and its display attributes - in
|
||||
//! particular, the number of V isoparameters -
|
||||
//! are set in the attribute manager aDrawer.
|
||||
//! aFace is BRepAdaptor_HSurface surface
|
||||
//! created from a face in a topological shape. which
|
||||
//! is passed to the function as an argument through
|
||||
//! the BRepAdaptor_HSurface surface created from
|
||||
//! it. This is what allows the topological face to be
|
||||
//! treated as a geometric surface.
|
||||
Standard_EXPORT static void AddVIso (const Handle(Prs3d_Presentation)& aPresentation, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
//! Defines a display of a delection-specified face. The
|
||||
//! display will feature U and V isoparameters.
|
||||
//! Adds the topology aShape to the
|
||||
//! StdPrs_WFRestrictedFace algorithm. This shape is
|
||||
//! found in the presentation object aPresentation, and
|
||||
//! its display attributes - except the number of U and V
|
||||
//! isoparameters - are set in the attribute manager aDrawer.
|
||||
//! The function sets the number of U and V
|
||||
//! isoparameters, NBUiso and NBViso, in the shape. To
|
||||
//! do this, the arguments DrawUIso and DrawVIso must be true.
|
||||
//! aFace is BRepAdaptor_HSurface surface created
|
||||
//! from a face in a topological shape. which is passed
|
||||
//! as an argument through the
|
||||
//! BRepAdaptor_HSurface surface created from it.
|
||||
//! This is what allows the topological face to be treated
|
||||
//! as a geometric surface.
|
||||
//! Curves give a sequence of face curves, it is used if the PrimitiveArray
|
||||
//! visualization approach is activated (it is activated by default).
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(BRepAdaptor_HSurface)& aFace, const Standard_Boolean DrawUIso, const Standard_Boolean DrawVIso, const Quantity_Length Deflection, const Standard_Integer NBUiso, const Standard_Integer NBViso, const Handle(Prs3d_Drawer)& aDrawer, Prs3d_NListOfSequenceOfPnt& Curves);
|
||||
|
||||
//! Adds box as polyline to the presentation object
|
||||
Standard_EXPORT static void AddBox (const Handle(Prs3d_Presentation)& thePrs, const Bnd_Box& theBndBox, const Handle(Prs3d_Drawer)& theDrawer);
|
||||
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
Standard_EXPORT static Standard_Boolean MatchUIso (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
Standard_EXPORT static Standard_Boolean MatchVIso (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
Standard_EXPORT static Standard_Boolean Match (const Quantity_Length X, const Quantity_Length Y, const Quantity_Length Z, const Quantity_Length aDistance, const Handle(BRepAdaptor_HSurface)& aFace, const Handle(Prs3d_Drawer)& aDrawer, const Standard_Boolean DrawUIso, const Standard_Boolean DrawVIso, const Quantity_Length aDeflection, const Standard_Integer NBUiso, const Standard_Integer NBViso);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_WFDeflectionRestrictedFace_HeaderFile
|
@@ -1,49 +0,0 @@
|
||||
-- Created on: 1995-07-24
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class WFDeflectionSurface from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
--- Purpose: Draws a surface by drawing the isoparametric curves with respect to
|
||||
-- a maximal chordial deviation.
|
||||
-- The number of isoparametric curves to be drawn and their color are
|
||||
-- controlled by the furnished Drawer.
|
||||
|
||||
uses
|
||||
HSurface from Adaptor3d,
|
||||
Curve from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d
|
||||
is
|
||||
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aSurface : HSurface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Adds the surface aSurface to the presentation object
|
||||
-- aPresentation, and defines its boundaries and isoparameters.
|
||||
-- The shape's display attributes are set in the attribute
|
||||
-- manager aDrawer. These include whether deflection
|
||||
-- is absolute or relative to the size of the shape.
|
||||
-- The surface aSurface is a surface object from
|
||||
-- Adaptor, and provides data from a Geom surface.
|
||||
-- This makes it possible to use the surface in a geometric algorithm.
|
||||
-- Note that this surface object is manipulated by handles.
|
||||
end WFDeflectionSurface from StdPrs;
|
||||
|
||||
|
||||
|
@@ -14,16 +14,19 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_WFDeflectionSurface.ixx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <GeomAbs_IsoType.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor3d_IsoCurve.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <BndLib_AddSurface.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <GeomAbs_IsoType.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <Adaptor3d_IsoCurve.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_DeflectionCurve.hxx>
|
||||
#include <StdPrs_WFDeflectionSurface.hxx>
|
||||
|
||||
static void FindLimits(const Handle(Adaptor3d_HSurface)& surf ,
|
||||
const Standard_Real aLimit,
|
||||
|
75
src/StdPrs/StdPrs_WFDeflectionSurface.hxx
Normal file
75
src/StdPrs/StdPrs_WFDeflectionSurface.hxx
Normal file
@@ -0,0 +1,75 @@
|
||||
// Created on: 1995-07-24
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_WFDeflectionSurface_HeaderFile
|
||||
#define _StdPrs_WFDeflectionSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_HSurface;
|
||||
|
||||
|
||||
//! Draws a surface by drawing the isoparametric curves with respect to
|
||||
//! a maximal chordial deviation.
|
||||
//! The number of isoparametric curves to be drawn and their color are
|
||||
//! controlled by the furnished Drawer.
|
||||
class StdPrs_WFDeflectionSurface : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Adds the surface aSurface to the presentation object
|
||||
//! aPresentation, and defines its boundaries and isoparameters.
|
||||
//! The shape's display attributes are set in the attribute
|
||||
//! manager aDrawer. These include whether deflection
|
||||
//! is absolute or relative to the size of the shape.
|
||||
//! The surface aSurface is a surface object from
|
||||
//! Adaptor, and provides data from a Geom surface.
|
||||
//! This makes it possible to use the surface in a geometric algorithm.
|
||||
//! Note that this surface object is manipulated by handles.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Adaptor3d_HSurface)& aSurface, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_WFDeflectionSurface_HeaderFile
|
@@ -1,45 +0,0 @@
|
||||
-- Created on: 1995-07-24
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class WFPoleSurface from StdPrs
|
||||
|
||||
inherits Root from Prs3d
|
||||
--- Purpose: Computes the presentation of surfaces by drawing a
|
||||
-- double network of lines linking the poles of the surface
|
||||
-- in the two parametric direction.
|
||||
-- The number of lines to be drawn is controlled
|
||||
-- by the NetworkNumber of the given Drawer.
|
||||
uses
|
||||
Surface from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d
|
||||
|
||||
|
||||
is
|
||||
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aSurface : Surface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
---Purpose: Adds the surface aSurface to the presentation object aPresentation.
|
||||
-- The shape's display attributes are set in the attribute manager aDrawer.
|
||||
-- The surface aSurface is a surface object from
|
||||
-- Adaptor3d, and provides data from a Geom surface.
|
||||
-- This makes it possible to use the surface in a geometric algorithm.
|
||||
end WFPoleSurface;
|
||||
|
||||
|
||||
|
@@ -14,15 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_WFPoleSurface.ixx>
|
||||
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <TColgp_Array2OfPnt.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
|
||||
#include <Adaptor3d_Surface.hxx>
|
||||
#include <Geom_BezierSurface.hxx>
|
||||
#include <Geom_BSplineSurface.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_WFPoleSurface.hxx>
|
||||
#include <TColgp_Array2OfPnt.hxx>
|
||||
|
||||
static void AddPoles(const Handle (Prs3d_Presentation)& aPresentation,
|
||||
const TColgp_Array2OfPnt& A,
|
||||
|
72
src/StdPrs/StdPrs_WFPoleSurface.hxx
Normal file
72
src/StdPrs/StdPrs_WFPoleSurface.hxx
Normal file
@@ -0,0 +1,72 @@
|
||||
// Created on: 1995-07-24
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_WFPoleSurface_HeaderFile
|
||||
#define _StdPrs_WFPoleSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_Surface;
|
||||
|
||||
|
||||
//! Computes the presentation of surfaces by drawing a
|
||||
//! double network of lines linking the poles of the surface
|
||||
//! in the two parametric direction.
|
||||
//! The number of lines to be drawn is controlled
|
||||
//! by the NetworkNumber of the given Drawer.
|
||||
class StdPrs_WFPoleSurface : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Adds the surface aSurface to the presentation object aPresentation.
|
||||
//! The shape's display attributes are set in the attribute manager aDrawer.
|
||||
//! The surface aSurface is a surface object from
|
||||
//! Adaptor3d, and provides data from a Geom surface.
|
||||
//! This makes it possible to use the surface in a geometric algorithm.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Adaptor3d_Surface& aSurface, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_WFPoleSurface_HeaderFile
|
@@ -1,43 +0,0 @@
|
||||
-- Created on: 1995-08-04
|
||||
-- Created by: Modelistation
|
||||
-- Copyright (c) 1995-1999 Matra Datavision
|
||||
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
--
|
||||
-- This file is part of Open CASCADE Technology software library.
|
||||
--
|
||||
-- This library is free software; you can redistribute it and/or modify it under
|
||||
-- the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
-- by the Free Software Foundation, with special exception defined in the file
|
||||
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
-- distribution for complete text of the license and disclaimer of any warranty.
|
||||
--
|
||||
-- Alternatively, this file may be used under the terms of Open CASCADE
|
||||
-- commercial license or contractual agreement.
|
||||
|
||||
class WFSurface from StdPrs
|
||||
---Purpose: Computes the wireframe presentation of surfaces
|
||||
-- by displaying a given number of U and/or V isoparametric
|
||||
--- curves. The isoparametric curves are drawn with respect
|
||||
-- to a given number of points.
|
||||
|
||||
inherits Root from Prs3d
|
||||
|
||||
uses
|
||||
HSurface from Adaptor3d,
|
||||
Presentation from Prs3d,
|
||||
Drawer from Prs3d
|
||||
|
||||
is
|
||||
--- Purpose: Draws a surface by drawing the isoparametric curves with respect to
|
||||
-- a fixed number of points given by the Drawer.
|
||||
-- The number of isoparametric curves to be drawn and their color are
|
||||
-- controlled by the furnished Drawer.
|
||||
|
||||
Add(myclass; aPresentation: Presentation from Prs3d;
|
||||
aSurface : HSurface from Adaptor3d;
|
||||
aDrawer : Drawer from Prs3d);
|
||||
|
||||
end WFSurface from StdPrs;
|
||||
|
||||
|
||||
|
@@ -14,23 +14,22 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <StdPrs_WFSurface.ixx>
|
||||
|
||||
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <GeomAbs_IsoType.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <BndLib_AddSurface.hxx>
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <Adaptor3d_IsoCurve.hxx>
|
||||
#include <StdPrs_Curve.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
|
||||
#include <Prs3d_NListOfSequenceOfPnt.hxx>
|
||||
#include <Bnd_Box.hxx>
|
||||
#include <BndLib_AddSurface.hxx>
|
||||
#include <GeomAbs_IsoType.hxx>
|
||||
#include <Graphic3d_ArrayOfPolylines.hxx>
|
||||
#include <Graphic3d_Group.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <Prs3d_IsoAspect.hxx>
|
||||
#include <Prs3d_NListIteratorOfListOfSequenceOfPnt.hxx>
|
||||
|
||||
#include <Prs3d_NListOfSequenceOfPnt.hxx>
|
||||
#include <Prs3d_Presentation.hxx>
|
||||
#include <StdPrs_Curve.hxx>
|
||||
#include <StdPrs_WFSurface.hxx>
|
||||
#include <TColgp_SequenceOfPnt.hxx>
|
||||
|
||||
static void FindLimits(const Handle(Adaptor3d_HSurface)& surf ,
|
||||
const Standard_Real aLimit,
|
||||
|
70
src/StdPrs/StdPrs_WFSurface.hxx
Normal file
70
src/StdPrs/StdPrs_WFSurface.hxx
Normal file
@@ -0,0 +1,70 @@
|
||||
// Created on: 1995-08-04
|
||||
// Created by: Modelistation
|
||||
// Copyright (c) 1995-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _StdPrs_WFSurface_HeaderFile
|
||||
#define _StdPrs_WFSurface_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Prs3d_Root.hxx>
|
||||
#include <Prs3d_Drawer.hxx>
|
||||
class Prs3d_Presentation;
|
||||
class Adaptor3d_HSurface;
|
||||
|
||||
|
||||
//! Computes the wireframe presentation of surfaces
|
||||
//! by displaying a given number of U and/or V isoparametric
|
||||
//! curves. The isoparametric curves are drawn with respect
|
||||
//! to a given number of points.
|
||||
class StdPrs_WFSurface : public Prs3d_Root
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Draws a surface by drawing the isoparametric curves with respect to
|
||||
//! a fixed number of points given by the Drawer.
|
||||
//! The number of isoparametric curves to be drawn and their color are
|
||||
//! controlled by the furnished Drawer.
|
||||
Standard_EXPORT static void Add (const Handle(Prs3d_Presentation)& aPresentation, const Handle(Adaptor3d_HSurface)& aSurface, const Handle(Prs3d_Drawer)& aDrawer);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _StdPrs_WFSurface_HeaderFile
|
Reference in New Issue
Block a user