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:
8
src/LProp3d/FILES
Normal file
8
src/LProp3d/FILES
Normal file
@@ -0,0 +1,8 @@
|
||||
LProp3d_CLProps.hxx
|
||||
LProp3d_CLProps_0.cxx
|
||||
LProp3d_CurveTool.cxx
|
||||
LProp3d_CurveTool.hxx
|
||||
LProp3d_SLProps.hxx
|
||||
LProp3d_SLProps_0.cxx
|
||||
LProp3d_SurfaceTool.cxx
|
||||
LProp3d_SurfaceTool.hxx
|
@@ -1,44 +0,0 @@
|
||||
-- Created on: 2002-08-02
|
||||
-- Created by: Alexander KARTOMIN (akm)
|
||||
-- Copyright (c) 2002-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.
|
||||
|
||||
-- NB: This originates from BRepLProp being abstracted of BRep.
|
||||
|
||||
package LProp3d
|
||||
|
||||
---Purpose: Handles local properties of curves and surfaces from the
|
||||
-- package Adaptor3d.
|
||||
-- SeeAlso: Package LProp.
|
||||
|
||||
uses Standard, gp, Adaptor3d, GeomAbs, LProp
|
||||
|
||||
is
|
||||
|
||||
class CurveTool;
|
||||
class SurfaceTool;
|
||||
|
||||
|
||||
class CLProps from LProp3d
|
||||
instantiates CLProps from LProp(HCurve from Adaptor3d,
|
||||
Vec from gp,
|
||||
Pnt from gp,
|
||||
Dir from gp,
|
||||
CurveTool from LProp3d);
|
||||
|
||||
class SLProps from LProp3d
|
||||
instantiates SLProps from LProp(HSurface from Adaptor3d,
|
||||
SurfaceTool from LProp3d);
|
||||
|
||||
|
||||
end LProp3d;
|
111
src/LProp3d/LProp3d_CLProps.hxx
Normal file
111
src/LProp3d/LProp3d_CLProps.hxx
Normal file
@@ -0,0 +1,111 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 _LProp3d_CLProps_HeaderFile
|
||||
#define _LProp3d_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 Adaptor3d_HCurve;
|
||||
class LProp_BadContinuity;
|
||||
class Standard_DomainError;
|
||||
class Standard_OutOfRange;
|
||||
class LProp_NotDefined;
|
||||
class gp_Vec;
|
||||
class gp_Pnt;
|
||||
class gp_Dir;
|
||||
class LProp3d_CurveTool;
|
||||
|
||||
|
||||
|
||||
class LProp3d_CLProps
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT LProp3d_CLProps(const Handle(Adaptor3d_HCurve)& C, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT LProp3d_CLProps(const Handle(Adaptor3d_HCurve)& C, const Standard_Real U, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT LProp3d_CLProps(const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT void SetParameter (const Standard_Real U);
|
||||
|
||||
Standard_EXPORT void SetCurve (const Handle(Adaptor3d_HCurve)& 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(Adaptor3d_HCurve) 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 // _LProp3d_CLProps_HeaderFile
|
42
src/LProp3d/LProp3d_CLProps_0.cxx
Normal file
42
src/LProp3d/LProp3d_CLProps_0.cxx
Normal file
@@ -0,0 +1,42 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 <LProp3d_CLProps.hxx>
|
||||
|
||||
#include <Adaptor3d_HCurve.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 <LProp3d_CurveTool.hxx>
|
||||
|
||||
|
||||
#define Curve Handle(Adaptor3d_HCurve)
|
||||
#define Curve_hxx <Adaptor3d_HCurve.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 LProp3d_CurveTool
|
||||
#define Tool_hxx <LProp3d_CurveTool.hxx>
|
||||
#define LProp_CLProps LProp3d_CLProps
|
||||
#define LProp_CLProps_hxx <LProp3d_CLProps.hxx>
|
||||
#include <LProp_CLProps.gxx>
|
||||
|
@@ -1,62 +0,0 @@
|
||||
-- Created on: 2002-08-02
|
||||
-- Created by: Alexander KARTOMIN (akm)
|
||||
-- Copyright (c) 2002-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.
|
||||
|
||||
-- NB: This originates from BRepLProp being abstracted of BRep.
|
||||
|
||||
class CurveTool from LProp3d
|
||||
|
||||
uses Vec from gp,
|
||||
Pnt from gp,
|
||||
Dir from gp,
|
||||
HCurve from Adaptor3d
|
||||
|
||||
is
|
||||
|
||||
Value(myclass; C : HCurve from Adaptor3d; U : Real; P : out Pnt);
|
||||
---Purpose: Computes the point <P> of parameter <U> on the HCurve <C>.
|
||||
|
||||
D1 (myclass; C : HCurve from Adaptor3d;
|
||||
U : Real; P : out Pnt; V1 : out Vec);
|
||||
---Purpose: Computes the point <P> and first derivative <V1> of
|
||||
-- parameter <U> on the HCurve <C>.
|
||||
|
||||
D2 (myclass; C : HCurve from Adaptor3d;
|
||||
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 HCurve <C>.
|
||||
|
||||
D3 (myclass; C : HCurve from Adaptor3d;
|
||||
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 HCurve <C>.
|
||||
|
||||
Continuity(myclass; C : HCurve from Adaptor3d) returns Integer;
|
||||
---Purpose: returns the order of continuity of the HCurve <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 : HCurve from Adaptor3d) returns Real;
|
||||
---Purpose: returns the first parameter bound of the HCurve.
|
||||
--
|
||||
|
||||
LastParameter(myclass; C : HCurve from Adaptor3d) returns Real;
|
||||
---Purpose: returns the last parameter bound of the HCurve.
|
||||
-- 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 <LProp3d_CurveTool.ixx>
|
||||
|
||||
#include <Adaptor3d_HCurve.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <LProp3d_CurveTool.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Value
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void LProp3d_CurveTool::Value(const Handle(Adaptor3d_HCurve)& C,
|
||||
const Standard_Real U,
|
||||
gp_Pnt& P)
|
||||
|
90
src/LProp3d/LProp3d_CurveTool.hxx
Normal file
90
src/LProp3d/LProp3d_CurveTool.hxx
Normal file
@@ -0,0 +1,90 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 _LProp3d_CurveTool_HeaderFile
|
||||
#define _LProp3d_CurveTool_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class Adaptor3d_HCurve;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
|
||||
|
||||
|
||||
class LProp3d_CurveTool
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Computes the point <P> of parameter <U> on the HCurve <C>.
|
||||
Standard_EXPORT static void Value (const Handle(Adaptor3d_HCurve)& C, const Standard_Real U, gp_Pnt& P);
|
||||
|
||||
//! Computes the point <P> and first derivative <V1> of
|
||||
//! parameter <U> on the HCurve <C>.
|
||||
Standard_EXPORT static void D1 (const Handle(Adaptor3d_HCurve)& 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 HCurve <C>.
|
||||
Standard_EXPORT static void D2 (const Handle(Adaptor3d_HCurve)& 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 HCurve <C>.
|
||||
Standard_EXPORT static void D3 (const Handle(Adaptor3d_HCurve)& C, const Standard_Real U, gp_Pnt& P, gp_Vec& V1, gp_Vec& V2, gp_Vec& V3);
|
||||
|
||||
//! returns the order of continuity of the HCurve <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(Adaptor3d_HCurve)& C);
|
||||
|
||||
//! returns the first parameter bound of the HCurve.
|
||||
Standard_EXPORT static Standard_Real FirstParameter (const Handle(Adaptor3d_HCurve)& C);
|
||||
|
||||
//! returns the last parameter bound of the HCurve.
|
||||
//! FirstParameter must be less than LastParamenter.
|
||||
Standard_EXPORT static Standard_Real LastParameter (const Handle(Adaptor3d_HCurve)& C);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _LProp3d_CurveTool_HeaderFile
|
145
src/LProp3d/LProp3d_SLProps.hxx
Normal file
145
src/LProp3d/LProp3d_SLProps.hxx
Normal file
@@ -0,0 +1,145 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 _LProp3d_SLProps_HeaderFile
|
||||
#define _LProp3d_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 Adaptor3d_HSurface;
|
||||
class LProp_BadContinuity;
|
||||
class Standard_DomainError;
|
||||
class Standard_OutOfRange;
|
||||
class LProp_NotDefined;
|
||||
class LProp3d_SurfaceTool;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
class gp_Dir;
|
||||
|
||||
|
||||
|
||||
class LProp3d_SLProps
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
Standard_EXPORT LProp3d_SLProps(const Handle(Adaptor3d_HSurface)& S, const Standard_Real U, const Standard_Real V, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT LProp3d_SLProps(const Handle(Adaptor3d_HSurface)& S, const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT LProp3d_SLProps(const Standard_Integer N, const Standard_Real Resolution);
|
||||
|
||||
Standard_EXPORT void SetSurface (const Handle(Adaptor3d_HSurface)& 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(Adaptor3d_HSurface) 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 // _LProp3d_SLProps_HeaderFile
|
36
src/LProp3d/LProp3d_SLProps_0.cxx
Normal file
36
src/LProp3d/LProp3d_SLProps_0.cxx
Normal file
@@ -0,0 +1,36 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 <LProp3d_SLProps.hxx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <LProp_BadContinuity.hxx>
|
||||
#include <Standard_DomainError.hxx>
|
||||
#include <Standard_OutOfRange.hxx>
|
||||
#include <LProp_NotDefined.hxx>
|
||||
#include <LProp3d_SurfaceTool.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
|
||||
|
||||
#define Surface Handle(Adaptor3d_HSurface)
|
||||
#define Surface_hxx <Adaptor3d_HSurface.hxx>
|
||||
#define Tool LProp3d_SurfaceTool
|
||||
#define Tool_hxx <LProp3d_SurfaceTool.hxx>
|
||||
#define LProp_SLProps LProp3d_SLProps
|
||||
#define LProp_SLProps_hxx <LProp3d_SLProps.hxx>
|
||||
#include <LProp_SLProps.gxx>
|
||||
|
@@ -1,52 +0,0 @@
|
||||
-- Created on: 2002-08-02
|
||||
-- Created by: Alexander KARTOMIN (akm)
|
||||
-- Copyright (c) 2002-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.
|
||||
|
||||
-- NB: This originates from BRepLProp being abstracted of BRep.
|
||||
|
||||
class SurfaceTool from LProp3d
|
||||
|
||||
uses Pnt from gp,
|
||||
Vec from gp,
|
||||
HSurface from Adaptor3d
|
||||
|
||||
is
|
||||
|
||||
Value(myclass; S : HSurface; U, V : Real; P : out Pnt);
|
||||
---Purpose: Computes the point <P> of parameter <U> and <V> on the
|
||||
-- HSurface <S>.
|
||||
|
||||
D1 (myclass; S : HSurface; 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 HSurface <S>.
|
||||
|
||||
D2 (myclass; S : HSurface; 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 HSurface <S>.
|
||||
|
||||
DN (myclass; S : HSurface; U, V : Real; IU, IV : Integer)
|
||||
returns Vec;
|
||||
|
||||
Continuity(myclass; S : HSurface) returns Integer;
|
||||
---Purpose: returns the order of continuity of the HSurface <S>.
|
||||
-- returns 1 : first derivative only is computable
|
||||
-- returns 2 : first and second derivative only are computable.
|
||||
|
||||
Bounds(myclass; S : HSurface; U1, V1, U2, V2 : out Real);
|
||||
---Purpose: returns the bounds of the HSurface.
|
||||
|
||||
end SurfaceTool;
|
||||
|
||||
|
@@ -14,13 +14,16 @@
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#include <LProp3d_SurfaceTool.ixx>
|
||||
|
||||
#include <Adaptor3d_HSurface.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Vec.hxx>
|
||||
#include <LProp3d_SurfaceTool.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : Value
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void LProp3d_SurfaceTool::Value(const Handle(Adaptor3d_HSurface)& S,
|
||||
const Standard_Real U,
|
||||
const Standard_Real V,
|
||||
|
83
src/LProp3d/LProp3d_SurfaceTool.hxx
Normal file
83
src/LProp3d/LProp3d_SurfaceTool.hxx
Normal file
@@ -0,0 +1,83 @@
|
||||
// Created on: 2002-08-02
|
||||
// Created by: Alexander KARTOMIN (akm)
|
||||
// Copyright (c) 2002-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 _LProp3d_SurfaceTool_HeaderFile
|
||||
#define _LProp3d_SurfaceTool_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Standard_Integer.hxx>
|
||||
class Adaptor3d_HSurface;
|
||||
class gp_Pnt;
|
||||
class gp_Vec;
|
||||
|
||||
|
||||
|
||||
class LProp3d_SurfaceTool
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! Computes the point <P> of parameter <U> and <V> on the
|
||||
//! HSurface <S>.
|
||||
Standard_EXPORT static void Value (const Handle(Adaptor3d_HSurface)& 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 HSurface <S>.
|
||||
Standard_EXPORT static void D1 (const Handle(Adaptor3d_HSurface)& 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 HSurface <S>.
|
||||
Standard_EXPORT static void D2 (const Handle(Adaptor3d_HSurface)& 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(Adaptor3d_HSurface)& S, const Standard_Real U, const Standard_Real V, const Standard_Integer IU, const Standard_Integer IV);
|
||||
|
||||
//! returns the order of continuity of the HSurface <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(Adaptor3d_HSurface)& S);
|
||||
|
||||
//! returns the bounds of the HSurface.
|
||||
Standard_EXPORT static void Bounds (const Handle(Adaptor3d_HSurface)& S, Standard_Real& U1, Standard_Real& V1, Standard_Real& U2, Standard_Real& V2);
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _LProp3d_SurfaceTool_HeaderFile
|
Reference in New Issue
Block a user