1
0
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:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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
View 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

View File

@@ -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;

View File

@@ -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:

View 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

View File

@@ -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;

View File

@@ -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]

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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)

View 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

View File

@@ -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;

View 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

View File

@@ -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;

View File

@@ -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)

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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()
{
}

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View 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

View File

@@ -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;

View File

@@ -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;

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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

View File

@@ -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;

View File

@@ -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,

View 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