Files
OCCT/src/IFSelect/IFSelect.cdl
bugmaster b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00

245 lines
11 KiB
Plaintext
Executable File

-- Created on: 1992-09-21
-- Created by: Christian CAILLET
-- Copyright (c) 1992-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.
package IFSelect
---Purpose : Gives tools to manage Selecting a group of Entities
-- processed by an Interface, for instance to divide up an
-- original Model (from a File) to several smaller ones
-- They use description of an Interface Model as a graph
--
-- Remark that this corresponds to the description of a
-- "scenario" of sharing out a File. Parts of this Scenario
-- are intended to be permanently stored. IFSelect provides
-- the Transient, active counterparts (to run the Scenario).
-- But a permanent one (either as Persistent Objects or as
-- interpretable Text) must be provided elsewhere.
uses MMgt, Standard, Message, TCollection, TColStd,
Interface, IFGraph, Dico, MoniTool
is
deferred class Signature; -- to select an entity according a string (its signature)
class SignMultiple; -- liste of signatures
class SignType; -- signature = type cdl
class SignCategory; -- signature = category
class SignValidity; -- signature = validity
class SignAncestor; -- signature = type cdl + all ancestors
class ShareOut;
class AppliedModifiers;
class ShareOutResult;
class PacketList;
deferred class Dispatch;
class DispGlobal; -- takes all result in only ONE group
class DispPerOne; -- defines one group per selected entity
class DispPerCount; -- one group for a count of entities
class DispPerSignature; -- groups given by a SignatureList
class DispPerFiles; -- a determined count of groups
-- Other classes can be added for a specific Interface
class SelectionIterator;
deferred class Selection;
deferred class SelectBase; -- attached directly to the ShareOut :
class SelectModelRoots; -- roots knows as such in the model
class SelectModelEntities; -- all entities of the model
class SelectEntityNumber; -- one entity having a given Number
class SelectPointed; -- directly pointed items
deferred class SelectCombine; -- algebraic operators
class SelectUnion; -- "OR" operator between Selections
class SelectIntersection; -- "AND" operator between Selections
deferred class SelectControl; -- a main list controlled by a second
class SelectDiff; -- "Minus" operator between Selections
deferred class SelectDeduct; -- computed lists :
class SelectShared; -- directly shared entities
class SelectSharing; -- directly sharing entities
deferred class SelectAnyList; -- from a list in an entity
deferred class SelectInList; -- from a list of single entities
generic class SelectList; -- from an entity as a list
class SelectSuite; -- macro-select-deduct
deferred class SelectExtract; -- sorted lists (can be inverted) :
class SelectUnknownEntities;
class SelectErrorEntities;
class SelectIncorrectEntities; -- (according ComputeCheck)
class SelectRoots; -- roots local in a given group
class SelectRootComps; -- idem but manages cycles
class SelectRange; -- range in a list (from i-th to j-th)
deferred class SelectAnyType; -- type to be precised in sub-class
class SelectType; -- type given as a parameter
class SelectSignature; -- signature matching
class SelectFlag; -- flag recorded in the Graph
class SelectSent; -- sent/remaining entities to file
-- Other classes can be added for a specific Interface
-- (in particular, instantiations of SelectType)
-- Other classes can be added for a specific Interface
-- (in particular, instantiations of SelectList)
deferred class SelectExplore;
class SelectSignedShared; -- shared entities + signature
class SelectSignedSharing; -- sharing entities + signature
class IntParam; -- defines externally accessible integer parameters
class SignatureList;
class CheckCounter;
class SignCounter;
class GraphCounter;
deferred class Editor;
class ParamEditor;
class EditForm;
class ListEditor;
class ContextModif; -- (set of data used by Modifiers)
class ContextWrite; -- (set of data used by Modifiers)
deferred class Transformer; -- frame for data transformations
class TransformStandard; -- works with Modifiers
class ModelCopier; -- performs transfers (to produce files)
deferred class GeneralModifier; -- set of criteria for all Modifiers
deferred class Modifier; -- defines modifying actions on transferred model
class ModifReorder; -- reorder whole model from roots
class ModifEditForm; -- applies an EditForm
deferred generic class FileModifier; -- defines actions on file sending
deferred generic class ModelModifier; -- specific actions on model
-- -- Session Management -- --
class WorkSession; -- a set of useful facilities
deferred class WorkLibrary; -- capability of user extents
alias Option is Option from MoniTool; -- pre-defined values for a field
alias Profile is Profile from MoniTool; -- set of options bound/piloted together
class SessionFile;
deferred class SessionDumper;
class BasicDumper;
deferred class Activator;
class SessionPilot;
class Act;
primitive ActFunc;
class Functions;
-- individual functions to be added by Act
enumeration ReturnStatus is RetVoid, RetDone, RetError, RetFail, RetStop;
---Purpose : Qualifies an execution status :
-- RetVoid : normal execution which created nothing, or
-- no data to process
-- RetDone : normal execution with a result
-- RetError : error in command or input data, no execution
-- RetFail : execution was run and has failed
-- RetStop : indicates end or stop (such as Raise)
enumeration RemainMode is
RemainForget, RemainCompute, RemainDisplay, RemainUndo;
-- used to pilot SetRemaining from the WorkSession
enumeration PrintCount is ItemsByEntity, CountByItem, ShortByItem, ListByItem, EntitiesByItem, CountSummary,
GeneralInfo, Mapping, ResultCount;
---Purpose:
-- Lets you choose the manner in which you want to analyze an
-- IGES or STEP file. Your analysis can be either message-oriented or
-- entity-oriented. The specific values are as follows:
-- - ItemsByEntity is a sequential list of all
-- messages per entity of the defined type
-- - CountByItem is the number of entities of the defined
-- type, with their rank number per message
-- - ShortByItem is the number of entities of the defined
-- type, with their types per message; displays the rank
-- numbers of the first five entities of the defined type
-- per message
-- - ListByItem is the number of entities of the defined type
-- per message and the numbers of the entities
-- - EntitiesByItem is the number of entities of the
-- defined type, with their types, rank numbers and
-- Directory Entry numbers per message
-- - GeneralInfo is general information on transfer such as:
-- - number of entities
-- - number of roots
-- - number of resulting Open CASCADE shapes
-- - number of warnings and failures
-- - CountSummary summary statistics for counters and signatures
-- - ResultCount information that contains the number of
-- roots in the IGES file and the number of resulting Open CASCADE shapes.
-- - Mapping of the IGES root entities to the resulting Open
-- CASCADE shape (including type and form of the IGES entity
-- and type of the resulting shape).
enumeration PrintFail is FailOnly, FailAndWarn;
---Purpose: Indicates whether there will
-- be information on warnings as well as on failures. The
-- terms of this enumeration have the following semantics:
-- - IFSelect_FailOnly gives information on failures only
-- - IFSelect_FailAndWarn gives information on both
-- failures and warnings. used to pilot PrintCheckList
enumeration EditValue is
Optional, Editable, EditProtected, EditComputed, EditRead, EditDynamic;
---Purpose : Controls access on Values by an Editor
-- EditOptional : normal access, in addition may be removed
-- Editable : normal access, must be present
-- EditProtected : access must be validated
-- EditComputed : why write it ? it will be recomputed
-- EditRead : no way to write it, only for read
-- EditDynamic : not a field, only to be displayed
-- -- Instantiations -- --
class TSeqOfDispatch instantiates Sequence from TCollection (Dispatch);
class TSeqOfSelection instantiates Sequence from TCollection (Selection);
class HSeqOfSelection instantiates HSequence from TCollection
(Selection,TSeqOfSelection);
-- the followings sequences are used by ModelCopier (definition or result)
class SequenceOfGeneralModifier instantiates Sequence from TCollection
(GeneralModifier);
class SequenceOfInterfaceModel instantiates Sequence from TCollection
(InterfaceModel from Interface);
class SequenceOfAppliedModifiers instantiates Sequence from TCollection
(AppliedModifiers);
-- Package Methods --
SaveSession (WS : any WorkSession; file : CString) returns Boolean;
---Purpose : Saves the state of a WorkSession from IFSelect, by using a
-- SessionFile from IFSelect. Returns True if Done, False in
-- case of Error on Writing. <file> gives the name of the File
-- to be produced (this avoids to export the class SessionFile).
RestoreSession (WS : mutable WorkSession; file : CString) returns Boolean;
---Purpose : Restore the state of a WorkSession from IFSelect, by using a
-- SessionFile from IFSelect. Returns True if Done, False in
-- case of Error on Writing. <file> gives the name of the File
-- to be used (this avoids to export the class SessionFile).
end IFSelect;