1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00
Files
occt/src/GeomPlate/GeomPlate_Surface.cdl
abv 6e33d3ced2 0024830: Remove redundant keyword 'mutable' in CDL declarations
Redundant keyword 'mutable' removed in CDL files.
In IGESConvGeom_GeomBuilder, unused methods MakeXY() and MakeXYZ() removed.
Method StepAP214_AutoDesignGroupAssignment::Init() replicating same method of the base class is removed as it causes CDL extraction error after above (seemingly irrelevant) changes.
2014-05-29 14:58:25 +04:00

313 lines
11 KiB
Plaintext

-- Created on: 1996-11-21
-- Created by: Joelle CHAUVET
-- Copyright (c) 1996-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.
-- Modified: Wed Mar 5 09:45:42 1997
-- by: Joelle CHAUVET
-- G1134 : new methods RealBounds and Constraints
class Surface from GeomPlate inherits Surface from Geom
---Purpose:
-- Describes the characteristics of plate surface objects
-- returned by BuildPlateSurface::Surface. These can be
-- used to verify the quality of the resulting surface before
-- approximating it to a Geom_BSpline surface generated
-- by MakeApprox. This proves necessary in cases where
-- you want to use the resulting surface as the support for
-- a shape. The algorithmically generated surface cannot
-- fill this function as is, and as a result must be converted first.
uses Pnt from gp,
Vec from gp,
Trsf from gp,
GTrsf2d from gp,
Shape from GeomAbs,
Curve from Geom,
Surface from Geom,
Plate from Plate,
Array2OfPnt2d from TColgp,
Array2OfPnt from TColgp,
SequenceOfXY from TColgp
raises RangeError from Standard,
NoSuchObject from Standard,
UndefinedDerivative from Geom,
UndefinedValue from Geom
is
Create ( Surfinit : Surface from Geom; Surfinter : Plate from Plate)
returns Surface from GeomPlate ;
UReverse (me : mutable)
---Purpose :
-- Reverses the U direction of parametrization of <me>.
-- The bounds of the surface are not modified.
;
UReversedParameter (me; U : Real) returns Real
---Purpose: Return the parameter on the Ureversed surface for
-- the point of parameter U on <me>.
--
-- me->UReversed()->Value(me->UReversedParameter(U),V)
--
-- is the same point as
--
-- me->Value(U,V)
;
VReverse (me : mutable)
---Purpose :
-- Reverses the V direction of parametrization of <me>.
-- The bounds of the surface are not modified.
;
VReversedParameter (me; V : Real) returns Real
---Purpose: Return the parameter on the Vreversed surface for
-- the point of parameter V on <me>.
--
-- me->VReversed()->Value(U,me->VReversedParameter(V))
--
-- is the same point as
--
-- me->Value(U,V)
;
TransformParameters(me; U,V : in out Real; T : Trsf from gp)
---Purpose: Computes the parameters on the transformed surface for
-- the transform of the point of parameters U,V on <me>.
--
-- me->Transformed(T)->Value(U',V')
--
-- is the same point as
--
-- me->Value(U,V).Transformed(T)
--
-- Where U',V' are the new values of U,V after calling
--
-- me->TranformParameters(U,V,T)
--
-- This methods does not change <U> and <V>
--
-- It can be redefined. For example on the Plane,
-- Cylinder, Cone, Revolved and Extruded surfaces.
is redefined;
ParametricTransformation(me; T : Trsf from gp) returns GTrsf2d from gp
---Purpose: Returns a 2d transformation used to find the new
-- parameters of a point on the transformed surface.
--
-- me->Transformed(T)->Value(U',V')
--
-- is the same point as
--
-- me->Value(U,V).Transformed(T)
--
-- Where U',V' are obtained by transforming U,V with
-- th 2d transformation returned by
--
-- me->ParametricTransformation(T)
--
-- This methods returns an identity transformation
--
-- It can be redefined. For example on the Plane,
-- Cylinder, Cone, Revolved and Extruded surfaces.
--
is redefined;
Bounds(me; U1, U2, V1, V2 : out Real)
-- To get the parametric bounds of the surface.
-- Returned values can be RealFirst or RealLast if the surface is
-- infinite.
;
IsUClosed (me) returns Boolean
---Purpose :
-- Is the surface closed in the parametric direction U ?
-- Returns True if for each parameter V the distance
-- between the point P (UFirst, V) and P (ULast, V) is
-- lower or equal to Resolution from gp. UFirst and ULast
-- are the parametric bounds in the U direction.
;
IsVClosed (me) returns Boolean
---Purpose :
-- Is the surface closed in the parametric direction V ?
-- Returns True if for each parameter U the distance
-- between the point P (U, VFirst) and P (U, VLast) is
-- lower or equal to Resolution from gp. VFirst and VLast
-- are the parametric bounds in the V direction.
;
IsUPeriodic (me) returns Boolean
---Purpose :
-- Is the parametrization of a surface periodic in the
-- direction U ?
-- It is possible only if the surface is closed in this
-- parametric direction and if the following relation is
-- satisfied :
-- for each parameter V the distance between the point
-- P (U, V) and the point P (U + T, V) is lower or equal
-- to Resolution from package gp. T is the parametric period
-- and must be a constant.
;
UPeriod (me) returns Real from Standard
---Purpose: returns the Uperiod.
raises
NoSuchObject from Standard
---Purpose: raises if the surface is not uperiodic.
is redefined;
IsVPeriodic (me) returns Boolean
---Purpose :
-- Is the parametrization of a surface periodic in the
-- direction U ?
-- It is possible only if the surface is closed in this
-- parametric direction and if the following relation is
-- satisfied :
-- for each parameter V the distance between the point
-- P (U, V) and the point P (U + T, V) is lower or equal
-- to Resolution from package gp. T is the parametric period
-- and must be a constant.
;
VPeriod (me) returns Real from Standard
---Purpose: returns the Vperiod.
raises
NoSuchObject from Standard
---Purpose: raises if the surface is not vperiodic.
is redefined;
UIso (me; U : Real) returns Curve
---Purpose : Computes the U isoparametric curve.
;
VIso (me; V : Real) returns Curve
---Purpose : Computes the V isoparametric curve.
;
Continuity (me) returns Shape from GeomAbs
---Purpose :
-- Global Continuity of the surface in direction U and V :
-- C0 : only geometric continuity,
-- C1 : continuity of the first derivative all along the surface,
-- C2 : continuity of the second derivative all along the surface,
-- C3 : continuity of the third derivative all along the surface,
-- G1 : tangency continuity all along the surface,
-- G2 : curvature continuity all along the surface,
-- CN : the order of continuity is infinite.
--- Example :
-- If the surface is C1 in the V parametric direction and C2
-- in the U parametric direction Shape = C1.
;
IsCNu (me; N : Integer) returns Boolean
---Purpose :
--- Returns the order of continuity of the surface in the
-- U parametric direction.
raises RangeError
---Purpose : Raised if N < 0.
;
IsCNv (me; N : Integer) returns Boolean
---Purpose :
--- Returns the order of continuity of the surface in the
-- V parametric direction.
raises RangeError
---Purpose : Raised if N < 0.
;
D0 (me; U, V : Real; P : out Pnt)
---Purpose :
-- Computes the point of parameter U,V on the surface.
raises UndefinedValue
---Purpose :
-- Raised only for an "OffsetSurface" if it is not possible to
-- compute the current point.
;
D1 (me; U, V : Real; P : out Pnt; D1U, D1V : out Vec)
---Purpose :
-- Computes the point P and the first derivatives in the
-- directions U and V at this point.
raises UndefinedDerivative
---Purpose : Raised if the continuity of the surface is not C1.
;
D2 (me; U, V : Real; P : out Pnt; D1U, D1V, D2U, D2V, D2UV : out Vec)
---Purpose :
-- Computes the point P, the first and the second derivatives in
-- the directions U and V at this point.
raises UndefinedDerivative
---Purpose : Raised if the continuity of the surface is not C2.
;
D3 (me; U, V : Real; P : out Pnt;
D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV :out Vec)
---Purpose :
-- Computes the point P, the first,the second and the third
-- derivatives in the directions U and V at this point.
raises UndefinedDerivative
---Purpose : Raised if the continuity of the surface is not C2.
;
DN (me; U, V : Real; Nu, Nv : Integer) returns Vec
---Purpose ;
-- Computes the derivative of order Nu in the direction U and Nv
-- in the direction V at the point P(U, V).
raises UndefinedDerivative,
---Purpose :
-- Raised if the continuity of the surface is not CNu in the U
-- direction or not CNv in the V direction.
RangeError
---Purpose : Raised if Nu + Nv < 1 or Nu < 0 or Nv < 0.
;
Copy (me) returns like me;
Transform (me : mutable; T : Trsf) ;
---Purpose :
-- Transformation of a geometric object. This tansformation
-- can be a translation, a rotation, a symmetry, a scaling
-- or a complex transformation obtained by combination of
-- the previous elementaries transformations.
-- (see class Transformation of the package Geom).
CallSurfinit (me) returns Surface from Geom;
SetBounds (me : mutable ; Umin,Umax,Vmin,Vmax : in Real from Standard );
RealBounds(me; U1, U2, V1, V2 : out Real);
-- To get the real parametric bounds of the surface.
Constraints(me; Seq : out SequenceOfXY);
-- To get the 2d constraints used by Plate
fields
mySurfinter : Plate from Plate;
mySurfinit : Surface from Geom;
myUmin,myUmax,myVmin,myVmax : Real from Standard;
end;