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

View File

@@ -1 +1,11 @@
LProp_AnalyticCurInf.cxx
LProp_AnalyticCurInf.hxx
LProp_BadContinuity.hxx
LProp_CIType.hxx
LProp_CLProps.gxx
LProp_CurAndInf.cxx
LProp_CurAndInf.hxx
LProp_NotDefined.hxx
LProp_SequenceOfCIType.hxx
LProp_SLProps.gxx
LProp_Status.hxx

View File

@@ -1,72 +0,0 @@
-- Created on: 1991-03-27
-- Created by: Michel CHAUVAT
-- Copyright (c) 1991-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 LProp
---Purpose: Handles local properties of curves and surfaces.
-- Given a curve and a parameter value the following computations
-- are available :
-- - point,
-- - derivatives,
-- - tangent,
-- - normal,
-- - curvature,
-- - centre of curvature,
-- - Locals curvature's extremas,
-- - Points of inflection,
-- Given a surface and 2 parameters the following computations
-- are available :
-- - for each parameter:
-- - derivatives,
-- - tangent line,
-- - centre of curvature,
-- - point,
-- - normal line,
-- - maximum and minimum curvatures,
-- - principal directions of curvature,
-- - mean curvature,
-- - Gaussian curvature.
---Level : Public.
-- All methods of all classes will be public.
uses Standard, gp, math, TCollection, TColStd, GeomAbs
is
enumeration Status is Undecided , Undefined, Defined, Computed;
enumeration CIType is Inflection, MinCur , MaxCur;
---Purpose:
-- Identifies the type of a particular point on a curve:
-- - LProp_Inflection: a point of inflection
-- - LProp_MinCur: a minimum of curvature
-- - LProp_MaxCur: a maximum of curvature.
exception BadContinuity inherits Failure;
exception NotDefined inherits Failure;
generic class CLProps;
generic class SLProps;
class CurAndInf;
class AnalyticCurInf;
imported SequenceOfCIType;
end LProp;

View File

@@ -1,35 +0,0 @@
-- Created on: 1994-09-02
-- Created by: Yves FRICAUD
-- 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 AnalyticCurInf from LProp
---Purpose: Computes the locals extremas of curvature of a gp curve
-- Remark : a gp curve has not inflection.
uses
CurveType from GeomAbs,
CurAndInf from LProp
is
Create;
Perform (me : in out;
T : CurveType from GeomAbs ;
UFirst : Real from Standard ;
ULast : Real from Standard ;
Result : in out CurAndInf from LProp)
is static;
end AnalyticCurInf;

View File

@@ -14,14 +14,15 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <LProp_AnalyticCurInf.ixx>
#include <ElCLib.hxx>
#include <LProp_AnalyticCurInf.hxx>
#include <LProp_CurAndInf.hxx>
//=======================================================================
//function : LProp_AnalyticCurInf
//purpose :
//=======================================================================
LProp_AnalyticCurInf::LProp_AnalyticCurInf()
{
}

View File

@@ -0,0 +1,65 @@
// Created on: 1994-09-02
// Created by: Yves FRICAUD
// 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 _LProp_AnalyticCurInf_HeaderFile
#define _LProp_AnalyticCurInf_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <GeomAbs_CurveType.hxx>
#include <Standard_Real.hxx>
class LProp_CurAndInf;
//! Computes the locals extremas of curvature of a gp curve
//! Remark : a gp curve has not inflection.
class LProp_AnalyticCurInf
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT LProp_AnalyticCurInf();
Standard_EXPORT void Perform (const GeomAbs_CurveType T, const Standard_Real UFirst, const Standard_Real ULast, LProp_CurAndInf& Result);
protected:
private:
};
#endif // _LProp_AnalyticCurInf_HeaderFile

View File

@@ -0,0 +1,37 @@
// Created on: 1991-03-27
// Created by: Michel CHAUVAT
// Copyright (c) 1991-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 _LProp_BadContinuity_HeaderFile
#define _LProp_BadContinuity_HeaderFile
#include <Standard_Type.hxx>
#include <Standard_DefineException.hxx>
#include <Standard_SStream.hxx>
#include <Standard_Failure.hxx>
class LProp_BadContinuity;
DEFINE_STANDARD_HANDLE(LProp_BadContinuity, Standard_Failure)
#if !defined No_Exception && !defined No_LProp_BadContinuity
#define LProp_BadContinuity_Raise_if(CONDITION, MESSAGE) \
if (CONDITION) LProp_BadContinuity::Raise(MESSAGE);
#else
#define LProp_BadContinuity_Raise_if(CONDITION, MESSAGE)
#endif
DEFINE_STANDARD_EXCEPTION(LProp_BadContinuity, Standard_Failure)
#endif // _LProp_BadContinuity_HeaderFile

View File

@@ -0,0 +1,32 @@
// Created on: 1991-03-27
// Created by: Michel CHAUVAT
// Copyright (c) 1991-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 _LProp_CIType_HeaderFile
#define _LProp_CIType_HeaderFile
//! Identifies the type of a particular point on a curve:
//! - LProp_Inflection: a point of inflection
//! - LProp_MinCur: a minimum of curvature
//! - LProp_MaxCur: a maximum of curvature.
enum LProp_CIType
{
LProp_Inflection,
LProp_MinCur,
LProp_MaxCur
};
#endif // _LProp_CIType_HeaderFile

View File

@@ -1,157 +0,0 @@
-- Created on: 1991-03-25
-- Created by: Michel CHAUVAT
-- Copyright (c) 1991-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.
generic class CLProps from LProp
(Curve as any;
Vec as any; -- as Vec or Vec2d
Pnt as any; -- as Pnt or Pnt2d
Dir as any; -- as Dir or Dir2d
Tool as any) -- as ToolCurve(Curve, Pnt, Vec)
---Purpose: Computation of Curve Local Properties:
-- - point,
-- - derivatives,
-- - tangent,
-- - normal plane,
-- - curvature,
-- - normal,
-- - centre of curvature,
uses Status from LProp
raises BadContinuity from LProp,
DomainError from Standard,
OutOfRange from Standard,
NotDefined from LProp
is
Create(C: Curve; N: Integer; Resolution: Real)
---Purpose: Initializes the local properties of the curve <C>
-- The current point and the derivatives are
-- computed at the same time, which allows an
-- optimization of the computation time.
-- <N> indicates the maximum number of derivations to
-- be done (0, 1, 2 or 3). For example, to compute
-- only the tangent, N should be equal to 1.
-- <Resolution> is the linear tolerance (it is used to test
-- if a vector is null).
returns CLProps
raises OutOfRange;
-- if N < 0 or N > 3.
Create(C: Curve; U : Real; N: Integer; Resolution: Real)
--- Purpose : Same as previous constructor but here the parameter is
-- set to the value <U>.
-- All the computations done will be related to <C> and <U>.
returns CLProps
raises OutOfRange;
-- if N < 0 or N > 3.
Create(N : Integer;Resolution:Real)
--- Purpose : Same as previous constructor but here the parameter is
-- set to the value <U> and the curve is set
-- with SetCurve.
-- the curve can have a empty constructor
-- All the computations done will be related to <C> and <U>
-- when the functions "set" will be done.
returns CLProps
raises OutOfRange;
SetParameter(me: in out; U : Real)
---Purpose: Initializes the local properties of the curve
-- for the parameter value <U>.
is static;
SetCurve(me: in out; C : Curve)
---Purpose: Initializes the local properties of the curve
-- for the new curve.
is static;
Value(me) returns Pnt is static;
---Purpose: Returns the Point.
---C++: return const &
D1(me: in out) returns Vec is static;
---Purpose: Returns the first derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
D2(me: in out) returns Vec is static;
---Purpose: Returns the second derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
D3(me: in out) returns Vec is static;
---Purpose: Returns the third derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
IsTangentDefined(me: in out) returns Boolean is static;
---Purpose: Returns True if the tangent is defined.
-- For example, the tangent is not defined if the
-- three first derivatives are all null.
Tangent(me: in out; D : out Dir)
---Purpose: output the tangent direction <D>
raises NotDefined
-- if IsTangentDefined(me)=False.
is static;
Curvature(me: in out)
---Purpose: Returns the curvature.
returns Real
raises NotDefined
-- if IsTangentDefined(me) == False.
is static;
Normal(me: in out; N : out Dir)
---Purpose: Returns the normal direction <N>.
raises NotDefined
-- if Curvature(me) < Resolution
is static;
CentreOfCurvature(me: in out; P : out Pnt)
---Purpose: Returns the centre of curvature <P>.
raises NotDefined
-- if Curvature(me) < Resolution
is static;
fields
myCurve : Curve; -- the Curve on which thw calculus are done
myU : Real; -- the current value of the parameter
myDerOrder : Integer; -- the order of derivation
myCN : Real; -- the order of continuity of the Curve
myLinTol : Real; -- the tolerance for null Vector
myPnt : Pnt; -- the current point value
myDerivArr : Vec[3]; -- the current first, second and third derivative
-- value
myTangent : Dir; -- the tangent value
myCurvature : Real; -- the curvature value
myTangentStatus : Status from LProp;
-- the status of the tangent direction
mySignificantFirstDerivativeOrder : Integer;
-- the order of the first non null derivative
--
end CLProps;

View File

@@ -1,76 +0,0 @@
-- Created on: 1994-09-02
-- Created by: Yves FRICAUD
-- 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 CurAndInf from LProp
---Purpose: Stores the parameters of a curve 2d or 3d corresponding
-- to the curvature's extremas and the Inflection's Points.
uses
CIType from LProp,
SequenceOfReal from TColStd,
SequenceOfCIType from LProp
raises
OutOfRange from Standard
is
Create;
AddInflection (me : in out; Param : Real)
is static;
AddExtCur (me : in out; Param : Real; IsMin : Boolean)
is static;
Clear (me : in out)
is static;
IsEmpty (me) returns Boolean
is static;
NbPoints (me) returns Integer
---Purpose: Returns the number of points.
-- The Points are stored to increasing parameter.
is static;
Parameter (me; N : Integer) returns Real
---Purpose: Returns the parameter of the Nth point.
raises
OutOfRange from Standard
---Purpose: raises if N not in the range [1,NbPoints()]
is static;
Type (me; N : Integer) returns CIType
---Purpose: Returns
-- - MinCur if the Nth parameter corresponds to
-- a minimum of the radius of curvature.
-- - MaxCur if the Nth parameter corresponds to
-- a maximum of the radius of curvature.
-- - Inflection if the parameter corresponds to
-- a point of inflection.
raises
OutOfRange from Standard
---Purpose: raises if N not in the range [1,NbPoints()]
is static;
fields
theParams : SequenceOfReal from TColStd;
theTypes : SequenceOfCIType from LProp;
end CurAndInf;

View File

@@ -14,15 +14,15 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <LProp_CurAndInf.ixx>
#include <Standard_OutOfRange.hxx>
#include <ElCLib.hxx>
#include <LProp_CurAndInf.hxx>
#include <Standard_OutOfRange.hxx>
//=======================================================================
//function : LProp_CurAndInf
//purpose :
//=======================================================================
LProp_CurAndInf::LProp_CurAndInf()
{
}

View File

@@ -0,0 +1,95 @@
// Created on: 1994-09-02
// Created by: Yves FRICAUD
// 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 _LProp_CurAndInf_HeaderFile
#define _LProp_CurAndInf_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <TColStd_SequenceOfReal.hxx>
#include <LProp_SequenceOfCIType.hxx>
#include <Standard_Real.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <LProp_CIType.hxx>
class Standard_OutOfRange;
//! Stores the parameters of a curve 2d or 3d corresponding
//! to the curvature's extremas and the Inflection's Points.
class LProp_CurAndInf
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT LProp_CurAndInf();
Standard_EXPORT void AddInflection (const Standard_Real Param);
Standard_EXPORT void AddExtCur (const Standard_Real Param, const Standard_Boolean IsMin);
Standard_EXPORT void Clear();
Standard_EXPORT Standard_Boolean IsEmpty() const;
//! Returns the number of points.
//! The Points are stored to increasing parameter.
Standard_EXPORT Standard_Integer NbPoints() const;
//! Returns the parameter of the Nth point.
//! raises if N not in the range [1,NbPoints()]
Standard_EXPORT Standard_Real Parameter (const Standard_Integer N) const;
//! Returns
//! - MinCur if the Nth parameter corresponds to
//! a minimum of the radius of curvature.
//! - MaxCur if the Nth parameter corresponds to
//! a maximum of the radius of curvature.
//! - Inflection if the parameter corresponds to
//! a point of inflection.
//! raises if N not in the range [1,NbPoints()]
Standard_EXPORT LProp_CIType Type (const Standard_Integer N) const;
protected:
private:
TColStd_SequenceOfReal theParams;
LProp_SequenceOfCIType theTypes;
};
#endif // _LProp_CurAndInf_HeaderFile

View File

@@ -0,0 +1,37 @@
// Created on: 1991-03-27
// Created by: Michel CHAUVAT
// Copyright (c) 1991-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 _LProp_NotDefined_HeaderFile
#define _LProp_NotDefined_HeaderFile
#include <Standard_Type.hxx>
#include <Standard_DefineException.hxx>
#include <Standard_SStream.hxx>
#include <Standard_Failure.hxx>
class LProp_NotDefined;
DEFINE_STANDARD_HANDLE(LProp_NotDefined, Standard_Failure)
#if !defined No_Exception && !defined No_LProp_NotDefined
#define LProp_NotDefined_Raise_if(CONDITION, MESSAGE) \
if (CONDITION) LProp_NotDefined::Raise(MESSAGE);
#else
#define LProp_NotDefined_Raise_if(CONDITION, MESSAGE)
#endif
DEFINE_STANDARD_EXCEPTION(LProp_NotDefined, Standard_Failure)
#endif // _LProp_NotDefined_HeaderFile

View File

@@ -1,224 +0,0 @@
-- Created on: 1991-03-26
-- Created by: Michel CHAUVAT
-- Copyright (c) 1991-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.
generic class SLProps from LProp (Surface as any;
Tool as any) -- as ToolSurface(Surface)
---Purpose: Computation of Surface Local Properties:
-- - point,
-- - derivatives,
-- - tangents,
-- - normal,
-- - tangent plane,
-- - principal curvatures and their associated direction,
-- - mean curvature,
-- - Gaussian curvature.
uses Dir from gp,
Pnt from gp,
Vec from gp,
Status from LProp
raises BadContinuity, DomainError, OutOfRange, NotDefined
is
Create(S: Surface; U, V: Real; N: Integer; Resolution: Real)
---Purpose: Initializes the local properties of the surface <S>
-- for the parameter values (<U>, <V>).
-- The current point and the derivatives are
-- computed at the same time, which allows an
-- optimization of the computation time.
-- <N> indicates the maximum number of derivations to
-- be done (0, 1, or 2). For example, to compute
-- only the tangent, N should be equal to 1.
-- <Resolution> is the linear tolerance (it is used to test
-- if a vector is null).
returns SLProps
raises OutOfRange;
-- if N < 0 or N > 2.
Create(S: Surface; N: Integer; Resolution: Real)
---Purpose: idem as previous constructor but without setting the value
-- of parameters <U> and <V>.
returns SLProps
raises OutOfRange;
-- if N < 0 or N > 2.
Create( N: Integer; Resolution: Real)
---Purpose: idem as previous constructor but without setting the value
-- of parameters <U> and <V> and the surface.
-- the surface can have an empty constructor.
returns SLProps
raises OutOfRange;
-- if N < 0 or N > 2.
SetSurface(me : in out;S : Surface)
---Purpose: Initializes the local properties of the surface S
-- for the new surface.
is static;
SetParameters(me: in out; U, V : Real)
---Purpose: Initializes the local properties of the surface S
-- for the new parameter values (<U>, <V>).
is static;
Value(me) returns Pnt
---Purpose: Returns the point.
---C++: return const &
is static;
D1U(me: in out) returns Vec is static;
---Purpose: Returns the first U derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
D1V(me: in out) returns Vec is static;
---Purpose: Returns the first V derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
D2U(me: in out) returns Vec is static;
---Purpose: Returns the second U derivatives
-- The derivative is computed if it has not been yet.
---C++: return const &
D2V(me: in out) returns Vec is static;
---Purpose: Returns the second V derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
DUV(me: in out) returns Vec is static;
---Purpose: Returns the second UV cross-derivative.
-- The derivative is computed if it has not been yet.
---C++: return const &
IsTangentUDefined(me: in out) returns Boolean is static;
---Purpose: returns True if the U tangent is defined.
-- For example, the tangent is not defined if the
-- two first U derivatives are null.
TangentU(me: in out; D : out Dir)
---Purpose: Returns the tangent direction <D> on the iso-V.
raises NotDefined
-- if IsTangentUDefined() == False.
is static;
IsTangentVDefined(me: in out) returns Boolean is static;
---Purpose: returns if the V tangent is defined.
-- For example, the tangent is not defined if the
-- two first V derivatives are null.
TangentV(me: in out; D : out Dir)
---Purpose: Returns the tangent direction <D> on the iso-V.
raises NotDefined
-- if IsTangentVDefined() == False.
is static;
IsNormalDefined(me: in out) returns Boolean is static;
---Purpose: Tells if the normal is defined.
Normal(me: in out) returns Dir
---Purpose: Returns the normal direction.
---C++: return const &
raises NotDefined
-- if IsNormalDefined() == False
is static;
IsCurvatureDefined(me: in out)
---Purpose: returns True if the curvature is defined.
returns Boolean
raises BadContinuity
-- if the surface is not C2.
is static;
IsUmbilic(me: in out)
---Purpose: returns True if the point is umbilic (i.e. if the
-- curvature is constant).
returns Boolean
raises NotDefined
-- if IsCurvatureDefined() == False
is static;
MaxCurvature(me : in out)
---Purpose: Returns the maximum curvature
returns Real
raises NotDefined
-- if IsCurvatureDefined() == False.
is static;
MinCurvature(me : in out)
---Purpose: Returns the minimum curvature
returns Real
raises NotDefined
-- if IsCurvatureDefined() == False.
is static;
CurvatureDirections(me: in out; MaxD, MinD : out Dir)
---Purpose: Returns the direction of the maximum and minimum curvature
-- <MaxD> and <MinD>
raises NotDefined
-- if IsCurvatureDefined() == False
-- or IsUmbilic() == True.
is static;
MeanCurvature(me: in out)
---Purpose: Returns the mean curvature.
returns Real
raises NotDefined
-- if IsCurvatureDefined() == False.
is static;
GaussianCurvature(me: in out)
---Purpose: Returns the Gaussian curvature
returns Real
raises NotDefined
-- if IsCurvatureDefined() == False.
is static;
fields
mySurf : Surface;
myU : Real;
myV : Real;
myDerOrder : Integer;
myCN : Integer;
myLinTol : Real;
myPnt : Pnt from gp;
myD1u : Vec from gp;
myD1v : Vec from gp;
myD2u : Vec from gp;
myD2v : Vec from gp;
myDuv : Vec from gp;
myNormal : Dir from gp;
myMinCurv : Real;
myMaxCurv : Real;
myDirMinCurv : Dir from gp;
myDirMaxCurv : Dir from gp;
myMeanCurv : Real;
myGausCurv : Real;
mySignificantFirstDerivativeOrderU : Integer;
mySignificantFirstDerivativeOrderV : Integer;
myUTangentStatus : Status from LProp;
myVTangentStatus : Status from LProp;
myNormalStatus : Status from LProp;
myCurvatureStatus : Status from LProp;
end SLProps;

View File

@@ -0,0 +1,29 @@
// Created on: 1991-03-27
// Created by: Michel CHAUVAT
// Copyright (c) 1991-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 _LProp_Status_HeaderFile
#define _LProp_Status_HeaderFile
enum LProp_Status
{
LProp_Undecided,
LProp_Undefined,
LProp_Defined,
LProp_Computed
};
#endif // _LProp_Status_HeaderFile