Files
OCCT/src/IGESData/IGESData_DirChecker.cdl
2012-03-05 19:23:40 +04:00

156 lines
6.8 KiB
Plaintext
Executable File

-- File: DirChecker.cdl
-- Created: Tue Nov 10 10:37:47 1992
-- Author: Christian CAILLET
-- <cky@topsn2>
---Copyright: Matra Datavision 1992
class DirChecker from IGESData
---Purpose : This class centralizes general Checks upon an IGES Entity's
-- Directory Part. That is : such field Ignored or Required,
-- or Required with a given Value (for an Integer field)
-- More precise checks can be performed as necessary, by each
-- Entity (method OwnCheck).
--
-- Each class of Entity defines its DirChecker (method DirChecker)
-- and the DirChecker is able to perform its Checks on an Entity
--
-- A Required Value or presence of a field causes a Fail Message
-- if criterium is not satisfied
-- An Ignored field causes a Correction Message if the field is
-- not null/zero
uses Integer, Check, IGESEntity, DefType
is
Create returns DirChecker;
---Purpose : Returns a DirChecker, with no criterium at all to be checked
Create (atype : Integer) returns DirChecker;
---Purpose : Returns a DirChecker, with no criterium except Required Type
Create (atype, aform : Integer) returns DirChecker;
---Purpose : Returns a DirChecker, with no criterium except Required values
-- for Type and Form numbers
Create (atype, aform1, aform2 : Integer) returns DirChecker;
---Purpose : Returns a DirChecker, with no criterium except Required values
-- for Type number (atype), and Required Range for Form number
-- (which must be between aform1 and aform2 included)
IsSet (me) returns Boolean is static;
---Purpose : Returns True if at least one criterium has already been set
-- Allows user to store a DirChecker (static variable) then ask
-- if it has been set before setting it
SetDefault (me : in out) is static;
---Purpose : Sets a DirChecker with most current criteria, that is :
-- Structure Ignored ( worths call Structure(crit = DefVoid) )
Structure (me : in out; crit : DefType) is static;
---Purpose : Sets Structure criterium.
-- If crit is DefVoid, Ignored : should not be defined
-- If crit is DefReference, Required : must be defined
-- Other values are not taken in account
LineFont (me : in out; crit : DefType) is static;
---Purpose : Sets LineFont criterium
-- If crit is DefVoid, Ignored : should not be defined
-- If crit is DefAny, Required : must be defined (value or ref)
-- If crit is DefValue, Required as a Value (error if Reference)
-- Other values are not taken in account
LineWeight (me : in out; crit : DefType) is static;
---Purpose : Sets LineWeight criterium
-- If crit is DefVoid, Ignored : should not be defined
-- If crit is DefValue, Required
-- Other values are not taken in account
Color (me : in out; crit : DefType) is static;
---Purpose : Sets Color criterium
-- If crit is DefVoid, Ignored : should not be defined
-- If crit is DefAny, Required : must be defined (value or ref)
-- Other values are not taken in account
GraphicsIgnored (me : in out; hierarchy : Integer = -1) is static;
---Purpose : Sets Graphics data (LineFont, LineWeight, Color, Level, View)
-- to be ignored according value of Hierarchy status :
-- If hierarchy is not given, they are Ignored any way
-- (that is, they should not be defined)
-- If hierarchy is given, Graphics are Ignored if the Hierarchy
-- status has the value given in argument "hierarchy"
BlankStatusIgnored (me : in out) is static;
---Purpose : Sets Blank Status to be ignored
-- (should not be defined, or its value should be 0)
BlankStatusRequired (me : in out; val : Integer) is static;
---Purpose : Sets Blank Status to be required at a given value
SubordinateStatusIgnored (me : in out) is static;
---Purpose : Sets Subordinate Status to be ignored
-- (should not be defined, or its value should be 0)
SubordinateStatusRequired (me : in out; val : Integer) is static;
---Purpose : Sets Subordinate Status to be required at a given value
UseFlagIgnored (me : in out) is static;
---Purpose : Sets Blank Status to be ignored
-- (should not be defined, or its value should be 0)
UseFlagRequired (me : in out; val : Integer) is static;
---Purpose : Sets Blank Status to be required at a given value
-- Give -1 to demand UseFlag not zero (but no precise value req.)
HierarchyStatusIgnored (me : in out) is static;
---Purpose : Sets Hierarchy Status to be ignored
-- (should not be defined, or its value should be 0)
HierarchyStatusRequired (me : in out; val : Integer) is static;
---Purpose : Sets Hierarchy Status to be required at a given value
-- -- Checking -- --
Check (me; ach : in out Check; ent : IGESEntity) is static;
---Purpose : Performs the Checks on an IGESEntity, according to the
-- recorded criteria
-- In addition, does minimal Checks, such as admitted range for
-- Status, or presence of Error status in some data (Color, ...)
CheckTypeAndForm (me; ach : in out Check; ent : IGESEntity) is static;
---Purpose : Performs a Check only on Values of Type Number and Form Number
-- This allows to do a check on an Entity not yet completely
-- filled but of which Type and Form Number have been already set
Correct (me; ent : mutable IGESEntity) returns Boolean is static;
---Purpose : Corrects the Directory Entry of an IGES Entity as far as it is
-- possible according recorded criteria without any ambiguity :
-- - if a numeric Status is required a given value, this value is
-- enforced
-- - if an item is required to be Void, or if it recorded as
-- Erroneous, it is cleared (set to Void)
-- - Type Number is enforced
-- - finally Form Number is enforced only if one and only Value
-- is admitted (no range, see Constructors of DirChecker)
fields
isitset : Boolean; -- allows user to test if a DirChecked is set or not
thetype : Integer;
theform1 : Integer;
theform2 : Integer;
thestructure : DefType;
thelinefont : DefType;
thelineweig : DefType;
thecolor : DefType;
thegraphier : Integer; -- (graphics/heirarchy)
theblankst : Integer;
thesubordst : Integer;
theuseflag : Integer;
thehierst : Integer;
end DirChecker;