1 -- Created on: 1994-06-01
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class AutoCorrect from IGESSelect inherits ModelModifier from IGESSelect
19 ---Purpose : Does the absolutely effective corrections on IGES Entity.
20 -- That is to say : regarding the norm in details, some values
21 -- have mandatory values, or set of values with constraints.
22 -- When such values/constraints are univoque, they can be forced.
23 -- Also nullifies items of Directory Part, Associativities, and
24 -- Properties, which are not (or not longer) in <target> Model.
26 -- Works by calling a BasicEditor from IGESData
27 -- Works with the specific IGES Services : DirChecker which
28 -- allows to correct data in "Directory Part" of Entities (such
29 -- as required values for status, or references to be null), and
30 -- the specific IGES service OwnCorrect, which is specialised for
31 -- each type of entity.
33 -- Remark : this does not comprise the computation of use flag or
34 -- subordinate status according references, which is made by
35 -- the ModelModifier class ComputeStatus.
37 -- The Input Selection, when present, designates the entities to
38 -- be corrected. If it is not present, all the entities of the
39 -- model are corrected.
41 uses AsciiString from TCollection,
42 CopyTool, IGESModel, ContextModif,
43 GeneralLib, SpecificLib, IGESEntity
47 Create returns mutable AutoCorrect;
48 ---Purpose : Creates an AutoCorrect.
50 Performing (me; ctx : in out ContextModif;
51 target : mutable IGESModel;
52 TC : in out CopyTool);
53 ---Purpose : Specific action : corrects entities when it is absolutely
54 -- obvious, i.e. non equivoque (by DirChecker and specific
55 -- service OwnCorrect) : works with a protocol.
57 Label (me) returns AsciiString from TCollection;
58 ---Purpose : Returns a text which is
59 -- "Auto-correction of IGES Entities"