-- Created on: 1998-12-16 -- Created by: Roman LYGIN -- Copyright (c) 1998-1999 Matra Datavision -- Copyright (c) 1999-2012 OPEN CASCADE SAS -- -- The content of this file is subject to the Open CASCADE Technology Public -- License Version 6.5 (the "License"). You may not use the content of this file -- except in compliance with the License. Please obtain a copy of the License -- at http://www.opencascade.org and read it completely before using this file. -- -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. -- -- The Original Code and all software distributed under the License is -- distributed on an "AS IS" basis, without warranty of any kind, and the -- Initial Developer hereby disclaims all such warranties, including without -- limitation, any warranties of merchantability, fitness for a particular -- purpose or non-infringement. Please see the License for the specific terms -- and conditions governing the rights and limitations under the License. class IGESBoundary from IGESToBRep inherits TShared from MMgt ---Purpose: This class is intended to translate IGES boundary entity -- (142-CurveOnSurface, 141-Boundary or 508-Loop) into the wire. -- Methods Transfer are virtual and are redefined in Advanced -- Data Exchange to optimize the translation and take into -- account advanced parameters. uses Trsf2d from gp, Face from TopoDS, IGESEntity from IGESData, HArray1OfIGESEntity from IGESData, CurveAndSurface from IGESToBRep, WireData from ShapeExtend is Create returns mutable IGESBoundary from IGESToBRep; ---Purpose: Empty constructor Create (CS: CurveAndSurface from IGESToBRep) returns mutable IGESBoundary from IGESToBRep; ---Purpose: Empty constructor Init (me: mutable; CS : CurveAndSurface from IGESToBRep; entity : IGESEntity from IGESData; face : Face from TopoDS; trans : Trsf2d from gp; uFact : Real; filepreference: Integer); ---Purpose: Inits the object with parameters common for all -- types of IGES boundaries. -- : object to be used for retrieving translation parameters -- and sending messages, -- : boundary entity to be processed, -- , , : as for IGESToBRep_TopoCurve -- : preferred representation (2 or 3) given -- in the IGES file WireData (me) returns WireData from ShapeExtend; ---Purpose: Returns the resulting wire ---C++: inline WireData3d (me) returns WireData from ShapeExtend; ---Purpose: Returns the wire from 3D curves (edges contain 3D curves -- and may contain pcurves) ---C++: inline WireData2d (me) returns WireData from ShapeExtend; ---Purpose: Returns the the wire from 2D curves (edges contain pcurves -- only) ---C++: inline Transfer (me: mutable; okCurve : in out Boolean; okCurve3d : in out Boolean; okCurve2d : in out Boolean; curve3d : IGESEntity from IGESData; toreverse3d: Boolean; curves2d : HArray1OfIGESEntity from IGESData; number : Integer) returns Boolean; ---Purpose: Translates 141 and 142 entities. -- Returns True if the curve has been successfully translated, -- otherwise returns False. -- : flags that indicate whether corresponding -- representation has been successfully translated -- (must be set to True before first call), -- : model space curve for 142 and current model space -- curve for 141, -- : False for 142 and current orientation flag -- for 141, -- : 1 parameter space curve for 142 or list of -- them for current model space curves for 141, -- : 1 for 142 and rank number of model space curve for 141. Transfer (me: mutable; okCurve : in out Boolean; okCurve3d : in out Boolean; okCurve2d : in out Boolean; curve3d : WireData from ShapeExtend; curves2d : HArray1OfIGESEntity from IGESData; toreverse2d: Boolean; number : Integer; lsewd : out WireData from ShapeExtend) returns Boolean; ---Purpose: Translates 508 entity. -- Returns True if the curve has been successfully translated, -- otherwise returns False. -- Input object IGESBoundary must be created and initialized -- before. -- : flags that indicate whether corresponding -- representation has been successfully translated -- (must be set to True before first call), -- : result of translation of current edge, -- : list of parameter space curves for edge, -- : orientation flag of current edge in respect -- to its model space curve, -- : rank number of edge, -- : returns the result of translation of current edge. Check (me: mutable; result, checkclosure, okCurve3d, okCurve2d: Boolean) is virtual; ---Purpose: Checks result of translation of IGES boundary entities -- (types 141, 142 or 508). -- Checks consistency of 2D and 3D representations and keeps -- only one if they are inconsistent. -- : result of translation (returned by Transfer), -- : False for 142 without parent 144 entity, -- otherwise True, -- , : those returned by Transfer. ---Remark : Empty method for Open CASCADE and implemented for Advanced -- Data Exchange. ---Level: Internal Transfer (me: mutable; okCurve : in out Boolean; okCurve3d : in out Boolean; okCurve2d : in out Boolean; icurve3d : IGESEntity from IGESData; scurve3d : WireData from ShapeExtend; usescurve : Boolean; toreverse3d: Boolean; curves2d : HArray1OfIGESEntity from IGESData; toreverse2d: Boolean; number : Integer; lsewd : out WireData from ShapeExtend) returns Boolean is virtual protected; ---Purpose: Methods called by both Transfer methods. ReverseCurves3d (myclass; sewd: WireData from ShapeExtend) is protected; ReverseCurves2d (myclass; sewd: WireData from ShapeExtend; face: Face from TopoDS) is protected; fields myCS : CurveAndSurface from IGESToBRep is protected; myentity : IGESEntity from IGESData is protected; mysewd : WireData from ShapeExtend is protected; -- resulting wire mysewd3d : WireData from ShapeExtend is protected; -- wire from 3D curves (edges contain 3D curves and may contain pcurves) mysewd2d : WireData from ShapeExtend is protected; -- wire from 2D curves (edges contain pcurves only) myface : Face from TopoDS is protected; mytrsf : Trsf2d from gp is protected; myuFact : Real is protected; myfilepreference: Integer is protected; end IGESBoundary;