1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-24 13:50: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:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

10
src/GeomLProp/FILES Normal file
View File

@@ -0,0 +1,10 @@
GeomLProp.cxx
GeomLProp.hxx
GeomLProp_CLProps.hxx
GeomLProp_CLProps_0.cxx
GeomLProp_CurveTool.cxx
GeomLProp_CurveTool.hxx
GeomLProp_SLProps.hxx
GeomLProp_SLProps_0.cxx
GeomLProp_SurfaceTool.cxx
GeomLProp_SurfaceTool.hxx

View File

@@ -1,67 +0,0 @@
-- Created on: 1992-03-26
-- Created by: Herve LEGRAND
-- 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 GeomLProp
---Purpose: These global functions compute the degree of
-- continuity of a 3D curve built by concatenation of two
-- other curves (or portions of curves) at their junction point.
uses Standard, gp, Geom, GeomAbs, LProp
is
private class CurveTool;
private class SurfaceTool;
class CLProps from GeomLProp
instantiates CLProps from LProp(Curve from Geom,
Vec from gp,
Pnt from gp,
Dir from gp,
CurveTool from GeomLProp);
class SLProps from GeomLProp
instantiates SLProps from LProp(Surface from Geom,
SurfaceTool from GeomLProp);
Continuity(C1,C2 : Curve from Geom;
u1,u2 : Real from Standard;
r1,r2 : Boolean from Standard;
tl,ta : Real from Standard)
---Purpose: Computes the regularity at the junction between C1 and
-- C2. The booleans r1 and r2 are true if the curves must
-- be taken reversed. 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 Geom;
u1,u2 : Real from Standard;
r1,r2 : Boolean from Standard)
---Purpose: The same as preciding but using the standard
-- tolerances from package Precision.
returns Shape from GeomAbs;
end GeomLProp;

View File

@@ -14,14 +14,16 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <GeomLProp.ixx>
#include <Precision.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <Geom_BSplineCurve.hxx>
#include <Geom_Curve.hxx>
#include <Geom_TrimmedCurve.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomLProp.hxx>
#include <GeomLProp_CLProps.hxx>
#include <gp_Dir.hxx>
#include <gp_Vec.hxx>
#include <GeomAbs_Shape.hxx>
#include <Precision.hxx>
Standard_Integer GeomAbsToInteger(const GeomAbs_Shape gcont)
{

View File

@@ -0,0 +1,83 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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 _GeomLProp_HeaderFile
#define _GeomLProp_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <GeomAbs_Shape.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
class Geom_Curve;
class GeomLProp_CurveTool;
class GeomLProp_SurfaceTool;
class GeomLProp_CLProps;
class GeomLProp_SLProps;
//! These global functions compute the degree of
//! continuity of a 3D curve built by concatenation of two
//! other curves (or portions of curves) at their junction point.
class GeomLProp
{
public:
DEFINE_STANDARD_ALLOC
//! Computes the regularity at the junction between C1 and
//! C2. The booleans r1 and r2 are true if the curves must
//! be taken reversed. 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 Handle(Geom_Curve)& C1, const Handle(Geom_Curve)& C2, const Standard_Real u1, const Standard_Real u2, const Standard_Boolean r1, const Standard_Boolean r2, 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 Handle(Geom_Curve)& C1, const Handle(Geom_Curve)& C2, const Standard_Real u1, const Standard_Real u2, const Standard_Boolean r1, const Standard_Boolean r2);
protected:
private:
friend class GeomLProp_CurveTool;
friend class GeomLProp_SurfaceTool;
friend class GeomLProp_CLProps;
friend class GeomLProp_SLProps;
};
#endif // _GeomLProp_HeaderFile

View File

@@ -0,0 +1,112 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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 _GeomLProp_CLProps_HeaderFile
#define _GeomLProp_CLProps_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.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 Geom_Curve;
class LProp_BadContinuity;
class Standard_DomainError;
class Standard_OutOfRange;
class LProp_NotDefined;
class gp_Vec;
class gp_Pnt;
class gp_Dir;
class GeomLProp_CurveTool;
class GeomLProp_CLProps
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT GeomLProp_CLProps(const Handle(Geom_Curve)& C, const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT GeomLProp_CLProps(const Handle(Geom_Curve)& C, const Standard_Real U, const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT GeomLProp_CLProps(const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT void SetParameter (const Standard_Real U);
Standard_EXPORT void SetCurve (const Handle(Geom_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:
Handle(Geom_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 // _GeomLProp_CLProps_HeaderFile

View File

@@ -0,0 +1,43 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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.
#include <GeomLProp_CLProps.hxx>
#include <Geom_Curve.hxx>
#include <LProp_BadContinuity.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_OutOfRange.hxx>
#include <LProp_NotDefined.hxx>
#include <gp_Vec.hxx>
#include <gp_Pnt.hxx>
#include <gp_Dir.hxx>
#include <GeomLProp_CurveTool.hxx>
#define Curve Handle(Geom_Curve)
#define Curve_hxx <Geom_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 GeomLProp_CurveTool
#define Tool_hxx <GeomLProp_CurveTool.hxx>
#define LProp_CLProps GeomLProp_CLProps
#define LProp_CLProps_hxx <GeomLProp_CLProps.hxx>
#include <LProp_CLProps.gxx>

View File

@@ -1,58 +0,0 @@
-- Created on: 1992-03-26
-- Created by: Herve LEGRAND
-- 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.
private class CurveTool from GeomLProp
uses Vec from gp,
Pnt from gp,
Dir from gp,
Curve from Geom
is
Value(myclass; C : Curve from Geom; U : Real; P : out Pnt);
---Purpose: Computes the point <P> of parameter <U> on the curve <C>.
D1 (myclass; C : Curve from Geom; 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 Geom; 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 Geom; 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 Geom) 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 Geom) returns Real;
---Purpose: returns the first parameter bound of the curve.
--
LastParameter(myclass; C : Curve from Geom) returns Real;
---Purpose: returns the last parameter bound of the curve.
-- FirstParameter must be less than LastParamenter.
end CurveTool;

View File

@@ -14,9 +14,12 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <GeomLProp_CurveTool.ixx>
#include <Geom_Curve.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomLProp_CurveTool.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
void GeomLProp_CurveTool::Value(const Handle(Geom_Curve)& C,
const Standard_Real U, gp_Pnt& P)

View File

@@ -0,0 +1,91 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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 _GeomLProp_CurveTool_HeaderFile
#define _GeomLProp_CurveTool_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
class Geom_Curve;
class gp_Pnt;
class gp_Vec;
class GeomLProp_CurveTool
{
public:
DEFINE_STANDARD_ALLOC
//! Computes the point <P> of parameter <U> on the curve <C>.
Standard_EXPORT static void Value (const Handle(Geom_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 Handle(Geom_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 Handle(Geom_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 Handle(Geom_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 Handle(Geom_Curve)& C);
//! returns the first parameter bound of the curve.
Standard_EXPORT static Standard_Real FirstParameter (const Handle(Geom_Curve)& C);
//! returns the last parameter bound of the curve.
//! FirstParameter must be less than LastParamenter.
Standard_EXPORT static Standard_Real LastParameter (const Handle(Geom_Curve)& C);
protected:
private:
};
#endif // _GeomLProp_CurveTool_HeaderFile

View File

@@ -0,0 +1,146 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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 _GeomLProp_SLProps_HeaderFile
#define _GeomLProp_SLProps_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.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 Geom_Surface;
class LProp_BadContinuity;
class Standard_DomainError;
class Standard_OutOfRange;
class LProp_NotDefined;
class GeomLProp_SurfaceTool;
class gp_Pnt;
class gp_Vec;
class gp_Dir;
class GeomLProp_SLProps
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT GeomLProp_SLProps(const Handle(Geom_Surface)& S, const Standard_Real U, const Standard_Real V, const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT GeomLProp_SLProps(const Handle(Geom_Surface)& S, const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT GeomLProp_SLProps(const Standard_Integer N, const Standard_Real Resolution);
Standard_EXPORT void SetSurface (const Handle(Geom_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:
Handle(Geom_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 // _GeomLProp_SLProps_HeaderFile

View File

@@ -0,0 +1,37 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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.
#include <GeomLProp_SLProps.hxx>
#include <Geom_Surface.hxx>
#include <LProp_BadContinuity.hxx>
#include <Standard_DomainError.hxx>
#include <Standard_OutOfRange.hxx>
#include <LProp_NotDefined.hxx>
#include <GeomLProp_SurfaceTool.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
#include <gp_Dir.hxx>
#define Surface Handle(Geom_Surface)
#define Surface_hxx <Geom_Surface.hxx>
#define Tool GeomLProp_SurfaceTool
#define Tool_hxx <GeomLProp_SurfaceTool.hxx>
#define LProp_SLProps GeomLProp_SLProps
#define LProp_SLProps_hxx <GeomLProp_SLProps.hxx>
#include <LProp_SLProps.gxx>

View File

@@ -1,49 +0,0 @@
-- Created on: 1992-03-26
-- Created by: Herve LEGRAND
-- 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.
private class SurfaceTool from GeomLProp
uses Pnt from gp,
Vec from gp,
Surface from Geom
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;

View File

@@ -14,10 +14,12 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <GeomLProp_SurfaceTool.ixx>
#include <Geom_Surface.hxx>
#include <GeomAbs_Shape.hxx>
#include <GeomLProp_SurfaceTool.hxx>
#include <gp_Pnt.hxx>
#include <gp_Vec.hxx>
void GeomLProp_SurfaceTool::Value(const Handle(Geom_Surface)& S,
const Standard_Real U, const Standard_Real V, gp_Pnt& P)

View File

@@ -0,0 +1,84 @@
// Created on: 1992-03-26
// Created by: Herve LEGRAND
// 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 _GeomLProp_SurfaceTool_HeaderFile
#define _GeomLProp_SurfaceTool_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
class Geom_Surface;
class gp_Pnt;
class gp_Vec;
class GeomLProp_SurfaceTool
{
public:
DEFINE_STANDARD_ALLOC
//! Computes the point <P> of parameter <U> and <V> on the
//! Surface <S>.
Standard_EXPORT static void Value (const Handle(Geom_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 Handle(Geom_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 Handle(Geom_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 Handle(Geom_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 Handle(Geom_Surface)& S);
//! returns the bounds of the Surface.
Standard_EXPORT static void Bounds (const Handle(Geom_Surface)& S, Standard_Real& U1, Standard_Real& V1, Standard_Real& U2, Standard_Real& V2);
protected:
private:
};
#endif // _GeomLProp_SurfaceTool_HeaderFile