mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl": - WOK-generated header files from inc and sources from drv are moved to src - CDL files removed - All packages are converted to nocdlpack
This commit is contained in:
@@ -1,59 +0,0 @@
|
||||
-- Created on: 1994-02-24
|
||||
-- Created by: Laurent BOURESCHE
|
||||
-- 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.
|
||||
|
||||
package BRepLProp
|
||||
|
||||
---Purpose: These global functions compute the degree of
|
||||
-- continuity of a curve built by concatenation of two
|
||||
-- edges at their junction point.
|
||||
|
||||
uses Standard, gp, BRepAdaptor, GeomAbs, LProp
|
||||
|
||||
is
|
||||
|
||||
class CurveTool;
|
||||
class SurfaceTool;
|
||||
|
||||
|
||||
class CLProps from BRepLProp
|
||||
instantiates CLProps from LProp(Curve from BRepAdaptor,
|
||||
Vec from gp,
|
||||
Pnt from gp,
|
||||
Dir from gp,
|
||||
CurveTool from BRepLProp);
|
||||
|
||||
class SLProps from BRepLProp
|
||||
instantiates SLProps from LProp(Surface from BRepAdaptor,
|
||||
SurfaceTool from BRepLProp);
|
||||
|
||||
|
||||
Continuity(C1,C2 : Curve from BRepAdaptor;
|
||||
u1,u2 : Real from Standard;
|
||||
tl,ta : Real from Standard)
|
||||
---Purpose: Computes the regularity at the junction between C1 and
|
||||
-- C2. The point u1 on C1 and the point u2 on C2 must be
|
||||
-- confused. tl and ta are the linear and angular
|
||||
-- tolerance used two compare the derivative.
|
||||
returns Shape from GeomAbs;
|
||||
|
||||
|
||||
Continuity(C1,C2 : Curve from BRepAdaptor;
|
||||
u1,u2 : Real from Standard)
|
||||
---Purpose: The same as preciding but using the standard
|
||||
-- tolerances from package Precision.
|
||||
returns Shape from GeomAbs;
|
||||
|
||||
end BRepLProp;
|
@@ -14,19 +14,20 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepLProp.ixx>
|
||||
#include <Precision.hxx>
|
||||
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepLProp.hxx>
|
||||
#include <BRepLProp_CLProps.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
#include <Precision.hxx>
|
||||
#include <TopAbs_Orientation.hxx>
|
||||
#include <TopoDS_Edge.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Continuity
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
GeomAbs_Shape BRepLProp::Continuity(const BRepAdaptor_Curve& C1,
|
||||
const BRepAdaptor_Curve& C2,
|
||||
const Standard_Real u1,
|
||||
|
80
src/BRepLProp/BRepLProp.hxx
Normal file
80
src/BRepLProp/BRepLProp.hxx
Normal file
@@ -0,0 +1,80 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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 _BRepLProp_HeaderFile
|
||||
#define _BRepLProp_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <GeomAbs_Shape.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
class BRepAdaptor_Curve;
|
||||
class BRepLProp_CurveTool;
|
||||
class BRepLProp_SurfaceTool;
|
||||
class BRepLProp_CLProps;
|
||||
class BRepLProp_SLProps;
|
||||
|
||||
|
||||
//! These global functions compute the degree of
|
||||
//! continuity of a curve built by concatenation of two
|
||||
//! edges at their junction point.
|
||||
class BRepLProp
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Computes the regularity at the junction between C1 and
|
||||
//! C2. The point u1 on C1 and the point u2 on C2 must be
|
||||
//! confused. tl and ta are the linear and angular
|
||||
//! tolerance used two compare the derivative.
|
||||
Standard_EXPORT static GeomAbs_Shape Continuity (const BRepAdaptor_Curve& C1, const BRepAdaptor_Curve& C2, const Standard_Real u1, const Standard_Real u2, const Standard_Real tl, const Standard_Real ta);
|
||||
|
||||
//! The same as preciding but using the standard
|
||||
//! tolerances from package Precision.
|
||||
Standard_EXPORT static GeomAbs_Shape Continuity (const BRepAdaptor_Curve& C1, const BRepAdaptor_Curve& C2, const Standard_Real u1, const Standard_Real u2);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
friend class BRepLProp_CurveTool;
|
||||
friend class BRepLProp_SurfaceTool;
|
||||
friend class BRepLProp_CLProps;
|
||||
friend class BRepLProp_SLProps;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepLProp_HeaderFile
|
113
src/BRepLProp/BRepLProp_CLProps.hxx
Normal file
113
src/BRepLProp/BRepLProp_CLProps.hxx
Normal file
@@ -0,0 +1,113 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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 _BRepLProp_CLProps_HeaderFile
|
||||
#define _BRepLProp_CLProps_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <LProp_Status.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class LProp_BadContinuity;
|
||||
class Standard_DomainError;
|
||||
class Standard_OutOfRange;
|
||||
class LProp_NotDefined;
|
||||
class BRepAdaptor_Curve;
|
||||
class gp_Vec;
|
||||
class gp_Pnt;
|
||||
class gp_Dir;
|
||||
class BRepLProp_CurveTool;
|
||||
|
||||
|
||||
|
||||
class BRepLProp_CLProps
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepLProp_CLProps(const BRepAdaptor_Curve& C, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT BRepLProp_CLProps(const BRepAdaptor_Curve& C, const Standard_Real U, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT BRepLProp_CLProps(const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT void SetParameter (const Standard_Real U);
|
||||
|
||||
Standard_EXPORT void SetCurve (const BRepAdaptor_Curve& C);
|
||||
|
||||
Standard_EXPORT const gp_Pnt& Value() const;
|
||||
|
||||
Standard_EXPORT const gp_Vec& D1();
|
||||
|
||||
Standard_EXPORT const gp_Vec& D2();
|
||||
|
||||
Standard_EXPORT const gp_Vec& D3();
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsTangentDefined();
|
||||
|
||||
Standard_EXPORT void Tangent (gp_Dir& D);
|
||||
|
||||
Standard_EXPORT Standard_Real Curvature();
|
||||
|
||||
Standard_EXPORT void Normal (gp_Dir& N);
|
||||
|
||||
Standard_EXPORT void CentreOfCurvature (gp_Pnt& P);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
BRepAdaptor_Curve myCurve;
|
||||
Standard_Real myU;
|
||||
Standard_Integer myDerOrder;
|
||||
Standard_Real myCN;
|
||||
Standard_Real myLinTol;
|
||||
gp_Pnt myPnt;
|
||||
gp_Vec myDerivArr[3];
|
||||
gp_Dir myTangent;
|
||||
Standard_Real myCurvature;
|
||||
LProp_Status myTangentStatus;
|
||||
Standard_Integer mySignificantFirstDerivativeOrder;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepLProp_CLProps_HeaderFile
|
43
src/BRepLProp/BRepLProp_CLProps_0.cxx
Normal file
43
src/BRepLProp/BRepLProp_CLProps_0.cxx
Normal file
@@ -0,0 +1,43 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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.
|
||||
|
||||
#include <BRepLProp_CLProps.hxx>
|
||||
|
||||
#include <LProp_BadContinuity.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_OutOfRange.hxx>
|
||||
#include <LProp_NotDefined.hxx>
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <BRepLProp_CurveTool.hxx>
|
||||
|
||||
|
||||
#define Curve BRepAdaptor_Curve
|
||||
#define Curve_hxx <BRepAdaptor_Curve.hxx>
|
||||
#define Vec gp_Vec
|
||||
#define Vec_hxx <gp_Vec.hxx>
|
||||
#define Pnt gp_Pnt
|
||||
#define Pnt_hxx <gp_Pnt.hxx>
|
||||
#define Dir gp_Dir
|
||||
#define Dir_hxx <gp_Dir.hxx>
|
||||
#define Tool BRepLProp_CurveTool
|
||||
#define Tool_hxx <BRepLProp_CurveTool.hxx>
|
||||
#define LProp_CLProps BRepLProp_CLProps
|
||||
#define LProp_CLProps_hxx <BRepLProp_CLProps.hxx>
|
||||
#include <LProp_CLProps.gxx>
|
||||
|
@@ -1,61 +0,0 @@
|
||||
-- Created on: 1994-02-24
|
||||
-- Created by: Laurent BOURESCHE
|
||||
-- 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 CurveTool from BRepLProp
|
||||
|
||||
uses Vec from gp,
|
||||
Pnt from gp,
|
||||
Dir from gp,
|
||||
Curve from BRepAdaptor
|
||||
|
||||
is
|
||||
|
||||
Value(myclass; C : Curve from BRepAdaptor; U : Real; P : out Pnt);
|
||||
---Purpose: Computes the point <P> of parameter <U> on the curve <C>.
|
||||
|
||||
D1 (myclass; C : Curve from BRepAdaptor;
|
||||
U : Real; P : out Pnt; V1 : out Vec);
|
||||
---Purpose: Computes the point <P> and first derivative <V1> of
|
||||
-- parameter <U> on the curve <C>.
|
||||
|
||||
D2 (myclass; C : Curve from BRepAdaptor;
|
||||
U : Real; P : out Pnt; V1, V2 : out Vec);
|
||||
---Purpose: Computes the point <P>, the first derivative <V1> and second
|
||||
-- derivative <V2> of parameter <U> on the curve <C>.
|
||||
|
||||
D3 (myclass; C : Curve from BRepAdaptor;
|
||||
U : Real; P : out Pnt; V1, V2, V3 : out Vec);
|
||||
---Purpose: Computes the point <P>, the first derivative <V1>, the
|
||||
-- second derivative <V2> and third derivative <V3> of
|
||||
-- parameter <U> on the curve <C>.
|
||||
|
||||
Continuity(myclass; C : Curve from BRepAdaptor) returns Integer;
|
||||
---Purpose: returns the order of continuity of the curve <C>.
|
||||
-- returns 1 : first derivative only is computable
|
||||
-- returns 2 : first and second derivative only are computable.
|
||||
-- returns 3 : first, second and third are computable.
|
||||
|
||||
FirstParameter(myclass; C : Curve from BRepAdaptor) returns Real;
|
||||
---Purpose: returns the first parameter bound of the curve.
|
||||
--
|
||||
|
||||
LastParameter(myclass; C : Curve from BRepAdaptor) returns Real;
|
||||
---Purpose: returns the last parameter bound of the curve.
|
||||
-- FirstParameter must be less than LastParamenter.
|
||||
|
||||
end CurveTool;
|
||||
|
||||
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepLProp_CurveTool.ixx>
|
||||
|
||||
#include <BRepAdaptor_Curve.hxx>
|
||||
#include <BRepLProp_CurveTool.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Value
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepLProp_CurveTool::Value(const BRepAdaptor_Curve& C,
|
||||
const Standard_Real U,
|
||||
gp_Pnt& P)
|
||||
|
91
src/BRepLProp/BRepLProp_CurveTool.hxx
Normal file
91
src/BRepLProp/BRepLProp_CurveTool.hxx
Normal file
@@ -0,0 +1,91 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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 _BRepLProp_CurveTool_HeaderFile
|
||||
#define _BRepLProp_CurveTool_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class BRepAdaptor_Curve;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
|
||||
|
||||
|
||||
class BRepLProp_CurveTool
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Computes the point <P> of parameter <U> on the curve <C>.
|
||||
Standard_EXPORT static void Value (const BRepAdaptor_Curve& C, const Standard_Real U, gp_Pnt& P);
|
||||
|
||||
//! Computes the point <P> and first derivative <V1> of
|
||||
//! parameter <U> on the curve <C>.
|
||||
Standard_EXPORT static void D1 (const BRepAdaptor_Curve& C, const Standard_Real U, gp_Pnt& P, gp_Vec& V1);
|
||||
|
||||
//! Computes the point <P>, the first derivative <V1> and second
|
||||
//! derivative <V2> of parameter <U> on the curve <C>.
|
||||
Standard_EXPORT static void D2 (const BRepAdaptor_Curve& C, const Standard_Real U, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2);
|
||||
|
||||
//! Computes the point <P>, the first derivative <V1>, the
|
||||
//! second derivative <V2> and third derivative <V3> of
|
||||
//! parameter <U> on the curve <C>.
|
||||
Standard_EXPORT static void D3 (const BRepAdaptor_Curve& C, const Standard_Real U, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3);
|
||||
|
||||
//! returns the order of continuity of the curve <C>.
|
||||
//! returns 1 : first derivative only is computable
|
||||
//! returns 2 : first and second derivative only are computable.
|
||||
//! returns 3 : first, second and third are computable.
|
||||
Standard_EXPORT static Standard_Integer Continuity (const BRepAdaptor_Curve& C);
|
||||
|
||||
//! returns the first parameter bound of the curve.
|
||||
Standard_EXPORT static Standard_Real FirstParameter (const BRepAdaptor_Curve& C);
|
||||
|
||||
//! returns the last parameter bound of the curve.
|
||||
//! FirstParameter must be less than LastParamenter.
|
||||
Standard_EXPORT static Standard_Real LastParameter (const BRepAdaptor_Curve& C);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepLProp_CurveTool_HeaderFile
|
147
src/BRepLProp/BRepLProp_SLProps.hxx
Normal file
147
src/BRepLProp/BRepLProp_SLProps.hxx
Normal file
@@ -0,0 +1,147 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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 _BRepLProp_SLProps_HeaderFile
|
||||
#define _BRepLProp_SLProps_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <LProp_Status.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
class LProp_BadContinuity;
|
||||
class Standard_DomainError;
|
||||
class Standard_OutOfRange;
|
||||
class LProp_NotDefined;
|
||||
class BRepAdaptor_Surface;
|
||||
class BRepLProp_SurfaceTool;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
class gp_Dir;
|
||||
|
||||
|
||||
|
||||
class BRepLProp_SLProps
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT BRepLProp_SLProps(const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT BRepLProp_SLProps(const BRepAdaptor_Surface& S, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT BRepLProp_SLProps(const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT void SetSurface (const BRepAdaptor_Surface& S);
|
||||
|
||||
Standard_EXPORT void SetParameters (const Standard_Real U, const Standard_Real V);
|
||||
|
||||
Standard_EXPORT const gp_Pnt& Value() const;
|
||||
|
||||
Standard_EXPORT const gp_Vec& D1U();
|
||||
|
||||
Standard_EXPORT const gp_Vec& D1V();
|
||||
|
||||
Standard_EXPORT const gp_Vec& D2U();
|
||||
|
||||
Standard_EXPORT const gp_Vec& D2V();
|
||||
|
||||
Standard_EXPORT const gp_Vec& DUV();
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsTangentUDefined();
|
||||
|
||||
Standard_EXPORT void TangentU (gp_Dir& D);
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsTangentVDefined();
|
||||
|
||||
Standard_EXPORT void TangentV (gp_Dir& D);
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsNormalDefined();
|
||||
|
||||
Standard_EXPORT const gp_Dir& Normal();
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsCurvatureDefined();
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsUmbilic();
|
||||
|
||||
Standard_EXPORT Standard_Real MaxCurvature();
|
||||
|
||||
Standard_EXPORT Standard_Real MinCurvature();
|
||||
|
||||
Standard_EXPORT void CurvatureDirections (gp_Dir& MaxD, gp_Dir& MinD);
|
||||
|
||||
Standard_EXPORT Standard_Real MeanCurvature();
|
||||
|
||||
Standard_EXPORT Standard_Real GaussianCurvature();
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
BRepAdaptor_Surface mySurf;
|
||||
Standard_Real myU;
|
||||
Standard_Real myV;
|
||||
Standard_Integer myDerOrder;
|
||||
Standard_Integer myCN;
|
||||
Standard_Real myLinTol;
|
||||
gp_Pnt myPnt;
|
||||
gp_Vec myD1u;
|
||||
gp_Vec myD1v;
|
||||
gp_Vec myD2u;
|
||||
gp_Vec myD2v;
|
||||
gp_Vec myDuv;
|
||||
gp_Dir myNormal;
|
||||
Standard_Real myMinCurv;
|
||||
Standard_Real myMaxCurv;
|
||||
gp_Dir myDirMinCurv;
|
||||
gp_Dir myDirMaxCurv;
|
||||
Standard_Real myMeanCurv;
|
||||
Standard_Real myGausCurv;
|
||||
Standard_Integer mySignificantFirstDerivativeOrderU;
|
||||
Standard_Integer mySignificantFirstDerivativeOrderV;
|
||||
LProp_Status myUTangentStatus;
|
||||
LProp_Status myVTangentStatus;
|
||||
LProp_Status myNormalStatus;
|
||||
LProp_Status myCurvatureStatus;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepLProp_SLProps_HeaderFile
|
37
src/BRepLProp/BRepLProp_SLProps_0.cxx
Normal file
37
src/BRepLProp/BRepLProp_SLProps_0.cxx
Normal file
@@ -0,0 +1,37 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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.
|
||||
|
||||
#include <BRepLProp_SLProps.hxx>
|
||||
|
||||
#include <LProp_BadContinuity.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_OutOfRange.hxx>
|
||||
#include <LProp_NotDefined.hxx>
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepLProp_SurfaceTool.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
|
||||
|
||||
#define Surface BRepAdaptor_Surface
|
||||
#define Surface_hxx <BRepAdaptor_Surface.hxx>
|
||||
#define Tool BRepLProp_SurfaceTool
|
||||
#define Tool_hxx <BRepLProp_SurfaceTool.hxx>
|
||||
#define LProp_SLProps BRepLProp_SLProps
|
||||
#define LProp_SLProps_hxx <BRepLProp_SLProps.hxx>
|
||||
#include <LProp_SLProps.gxx>
|
||||
|
@@ -1,51 +0,0 @@
|
||||
-- Created on: 1994-02-24
|
||||
-- Created by: Laurent BOURESCHE
|
||||
-- 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 SurfaceTool from BRepLProp
|
||||
|
||||
uses Pnt from gp,
|
||||
Vec from gp,
|
||||
Surface from BRepAdaptor
|
||||
|
||||
is
|
||||
|
||||
Value(myclass; S : Surface; U, V : Real; P : out Pnt);
|
||||
---Purpose: Computes the point <P> of parameter <U> and <V> on the
|
||||
-- Surface <S>.
|
||||
|
||||
D1 (myclass; S : Surface; U, V : Real; P : out Pnt; D1U, D1V : out Vec);
|
||||
---Purpose: Computes the point <P> and first derivative <D1*> of
|
||||
-- parameter <U> and <V> on the Surface <S>.
|
||||
|
||||
D2 (myclass; S : Surface; U, V : Real;
|
||||
P : out Pnt; D1U, D1V, D2U, D2V, DUV : out Vec);
|
||||
---Purpose: Computes the point <P>, the first derivative <D1*> and second
|
||||
-- derivative <D2*> of parameter <U> and <V> on the Surface <S>.
|
||||
|
||||
DN (myclass; S : Surface; U, V : Real; IU, IV : Integer)
|
||||
returns Vec;
|
||||
|
||||
Continuity(myclass; S : Surface) returns Integer;
|
||||
---Purpose: returns the order of continuity of the Surface <S>.
|
||||
-- returns 1 : first derivative only is computable
|
||||
-- returns 2 : first and second derivative only are computable.
|
||||
|
||||
Bounds(myclass; S : Surface; U1, V1, U2, V2 : out Real);
|
||||
---Purpose: returns the bounds of the Surface.
|
||||
|
||||
end SurfaceTool;
|
||||
|
||||
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <BRepLProp_SurfaceTool.ixx>
|
||||
|
||||
#include <BRepAdaptor_Surface.hxx>
|
||||
#include <BRepLProp_SurfaceTool.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Value
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void BRepLProp_SurfaceTool::Value(const BRepAdaptor_Surface& S,
|
||||
const Standard_Real U,
|
||||
const Standard_Real V,
|
||||
|
84
src/BRepLProp/BRepLProp_SurfaceTool.hxx
Normal file
84
src/BRepLProp/BRepLProp_SurfaceTool.hxx
Normal file
@@ -0,0 +1,84 @@
|
||||
// Created on: 1994-02-24
|
||||
// Created by: Laurent BOURESCHE
|
||||
// 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 _BRepLProp_SurfaceTool_HeaderFile
|
||||
#define _BRepLProp_SurfaceTool_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class BRepAdaptor_Surface;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
|
||||
|
||||
|
||||
class BRepLProp_SurfaceTool
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Computes the point <P> of parameter <U> and <V> on the
|
||||
//! Surface <S>.
|
||||
Standard_EXPORT static void Value (const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, gp_Pnt& P);
|
||||
|
||||
//! Computes the point <P> and first derivative <D1*> of
|
||||
//! parameter <U> and <V> on the Surface <S>.
|
||||
Standard_EXPORT static void D1 (const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V);
|
||||
|
||||
//! Computes the point <P>, the first derivative <D1*> and second
|
||||
//! derivative <D2*> of parameter <U> and <V> on the Surface <S>.
|
||||
Standard_EXPORT static void D2 (const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& DUV);
|
||||
|
||||
Standard_EXPORT static gp_Vec DN (const BRepAdaptor_Surface& S, const Standard_Real U, const Standard_Real V, const Standard_Integer IU, const Standard_Integer IV);
|
||||
|
||||
//! returns the order of continuity of the Surface <S>.
|
||||
//! returns 1 : first derivative only is computable
|
||||
//! returns 2 : first and second derivative only are computable.
|
||||
Standard_EXPORT static Standard_Integer Continuity (const BRepAdaptor_Surface& S);
|
||||
|
||||
//! returns the bounds of the Surface.
|
||||
Standard_EXPORT static void Bounds (const BRepAdaptor_Surface& S, Standard_Real& U1, Standard_Real& V1, Standard_Real& U2, Standard_Real& V2);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _BRepLProp_SurfaceTool_HeaderFile
|
10
src/BRepLProp/FILES
Normal file
10
src/BRepLProp/FILES
Normal file
@@ -0,0 +1,10 @@
|
||||
BRepLProp.cxx
|
||||
BRepLProp.hxx
|
||||
BRepLProp_CLProps.hxx
|
||||
BRepLProp_CLProps_0.cxx
|
||||
BRepLProp_CurveTool.cxx
|
||||
BRepLProp_CurveTool.hxx
|
||||
BRepLProp_SLProps.hxx
|
||||
BRepLProp_SLProps_0.cxx
|
||||
BRepLProp_SurfaceTool.cxx
|
||||
BRepLProp_SurfaceTool.hxx
|
Reference in New Issue
Block a user