OpenCascade.js
API ReferenceDataExchangeTKDEIGES

IGESData

OCCT package IGESData: IGESData, IGESData_BasicEditor, IGESData_ColorEntity, IGESData_DefaultGeneral, and 37 more bound classes.

IGESData_BasicEditor

This class provides various functions of basic edition, such as :

  • setting header unit (WARNING : DOES NOT convert entities)
  • computation of the status (Subordinate, UseFlag) of entities of IGES Entities on a whole model
  • auto correction of IGES Entities, defined both by DirChecker and by specific service AutoCorrect (this auto correction performs non-ambigious, rather logic, editions)

Constructors(3)

Static methods(8)

  • UnitNameFlag(name: string): number

    From the name of unit, computes flag number, 0 if incorrect (in this case, user defined entity remains possible).

    Parameters (1)
    • name
  • UnitFlagValue(flag: number): number

    From the flag of unit, determines value in MM, 0 if incorrect.

    Parameters (1)
    • flag
  • UnitFlagName(flag: number): string

    From the flag of unit, determines its name, "" if incorrect.

    Parameters (1)
    • flag
  • IGESVersionName(flag: number): string

    From the flag of IGES version, returns name, "" if incorrect.

    Parameters (1)
    • flag
  • IGESVersionMax(): number

    Returns the maximum allowed value for IGESVersion Flag.

  • DraftingName(flag: number): string

    From the flag of drafting standard, returns name, "" if incorrect.

    Parameters (1)
    • flag
  • DraftingMax(): number

    Returns the maximum allowed value for Drafting Flag.

  • GetFlagByValue(theValue: number): number

    Returns Flag corresponding to the scaling theValue. Returns 0 if there's no such flag.

    Parameters (1)
    • theValue

Instance methods(10)

  • Init(protocol: IGESData_Protocol): void

    Initialize a Basic Editor, with a new IGESModel, ready to run.

    Parameters (1)
    • protocol
  • Init(model: IGESData_IGESModel, protocol: IGESData_Protocol): void

    Initialize a Basic Editor for IGES Data, ready to run.

    Parameters (2)
    • model
    • protocol
  • Returns the designated model.

  • SetUnitFlag(flag: number): boolean

    Sets a new unit from its flag (param 14 of Global Section) Returns True if done, False if <flag> is incorrect.

    Parameters (1)
    • flag
  • SetUnitValue(val: number): boolean

    Sets a new unit from its value in meters (rounded to the closest one, max gap 1%) Returns True if done, False if <val> is too far from a suitable value.

    Parameters (1)
    • val
  • SetUnitName(name: string): boolean

    Sets a new unit from its name (param 15 of Global Section) Returns True if done, False if <name> is incorrect Remark : if <flag> has been set to 3 (user defined), <name> is then free.

    Parameters (1)
    • name
  • ApplyUnit(enforce?: boolean): void

    Applies unit value to convert header data : Resolution, MaxCoord, MaxLineWeight Applies unit only once after SetUnit... has been called, if <enforce> is given as True. It can be called just before writing the model to a file, i.e. when definitive values are finally known.

    Parameters (1)
    • enforce
  • Performs the re-computation of status on the whole model (Subordinate Status and Use Flag of each IGES Entity), which can have required values according the way they are referenced (see definitions of Logical use, Physical use, etc...).

  • Performs auto-correction on an IGESEntity Returns True if something has changed, False if nothing done.
    Works with the specific IGES Services : DirChecker which allows to correct data in "Directory Part" of Entities (such as required values for status, or references to be null), and the specific IGES service OwnCorrect, which is specialised for each type of entity.

    Parameters (1)
    • ent
  • Performs auto-correction on the whole Model Returns the count of modified entities.

IGESData_DefaultGeneral

Processes the specific case of UndefinedEntity from IGESData (Case Number 1).

Constructors(1)

Static methods(2)

Instance methods(5)

  • Returns a DirChecker, specific for each type of Entity Here, Returns an empty DirChecker (no constraint to check).

    Parameters (2)
    • CN
    • ent
  • OwnCheckCase(CN: number, ent: IGESData_IGESEntity, shares: Interface_ShareTool): { ach: Interface_Check; [Symbol.dispose](): void }

    Performs Specific Semantic Check for each type of Entity Here, does nothing (no constraint to check).

    Parameters (3)
    • CN
    • ent
    • shares
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • NewVoid(CN: number): { returnValue: boolean; entto: Standard_Transient; [Symbol.dispose](): void }

    Specific creation of a new void entity (UndefinedEntity only).

    Parameters (1)
    • CN
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • entto: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • Copies parameters which are specific of each Type of Entity.

    Parameters (4)
    • CN
    • entfrom
    • entto
    • TC

IGESData_DefSwitch

description of a directory component which can be either undefined (let Void), defined as a Reference to an entity, or as a Rank, integer value addressing a builtin table The entity reference is not included here, only reference status is kept (because entity type must be adapted)

Constructors(1)

Instance methods(5)

  • SetVoid(): void

    sets DefSwitch to "Void" status (in file : Integer = 0)

  • SetReference(): void

    sets DefSwitch to "Reference" Status (in file : Integer < 0)

  • SetRank(val: number): void

    sets DefSwitch to "Rank" with a Value (in file : Integer > 0)

    Parameters (1)
    • val
  • returns DefType status (Void,Reference,Rank)

  • Value(): number

    returns Value as Integer (sensefull for a Rank)

IGESData_DirChecker

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

Constructors(4)

  • Returns a DirChecker, with no criterium at all to be checked.

  • Returns a DirChecker, with no criterium except Required Type.

    Parameters (1)
    • atype
  • constructor(atype: number, aform: number): IGESData_DirChecker

    Returns a DirChecker, with no criterium except Required values for Type and Form numbers.

    Parameters (2)
    • atype
    • aform
  • constructor(atype: number, aform1: number, aform2: number): IGESData_DirChecker

    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).

    Parameters (3)
    • atype
    • aform1
    • aform2

Instance methods(18)

  • IsSet(): boolean

    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(): void

    Sets a DirChecker with most current criteria, that is : Structure Ignored ( worths call Structure(crit = DefVoid) ).

  • 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.

    Parameters (1)
    • crit
  • 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.

    Parameters (1)
    • crit
  • Sets LineWeight criterium If crit is DefVoid, Ignored : should not be defined If crit is DefValue, Required Other values are not taken in account.

    Parameters (1)
    • crit
  • Color(crit: IGESData_DefType): void

    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.

    Parameters (1)
    • crit
  • GraphicsIgnored(hierarchy?: number): void

    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".

    Parameters (1)
    • hierarchy
  • Sets Blank Status to be ignored (should not be defined, or its value should be 0).

  • BlankStatusRequired(val: number): void

    Sets Blank Status to be required at a given value.

    Parameters (1)
    • val
  • Sets Subordinate Status to be ignored (should not be defined, or its value should be 0).

  • SubordinateStatusRequired(val: number): void

    Sets Subordinate Status to be required at a given value.

    Parameters (1)
    • val
  • Sets Blank Status to be ignored (should not be defined, or its value should be 0).

  • UseFlagRequired(val: number): void

    Sets Blank Status to be required at a given value Give -1 to demand UseFlag not zero (but no precise value req.).

    Parameters (1)
    • val
  • Sets Hierarchy Status to be ignored (should not be defined, or its value should be 0).

  • HierarchyStatusRequired(val: number): void

    Sets Hierarchy Status to be required at a given value.

    Parameters (1)
    • val
  • Check(ent: IGESData_IGESEntity): { ach: Interface_Check; [Symbol.dispose](): void }

    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, ...).

    Parameters (1)
    • ent
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • CheckTypeAndForm(ent: IGESData_IGESEntity): { ach: Interface_Check; [Symbol.dispose](): void }

    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.

    Parameters (1)
    • ent
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • 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)
    Parameters (1)
    • ent

IGESData_DirPart

literal/numeric description of an entity's directory section, taken from file

Constructors(1)

Instance methods(3)

  • Init(i1: number, i2: number, i3: number, i4: number, i5: number, i6: number, i7: number, i8: number, i9: number, i19: number, i11: number, i12: number, i13: number, i14: number, i15: number, i16: number, i17: number, res1: string, res2: string, label: string, subscript: string): void

    fills DirPart with consistent data read from file

    Parameters (21)
    • i1
    • i2
    • i3
    • i4
    • i5
    • i6
    • i7
    • i8
    • i9
    • i19
    • i11
    • i12
    • i13
    • i14
    • i15
    • i16
    • i17
    • res1
    • res2
    • label
    • subscript
  • Values(i1: number, i2: number, i3: number, i4: number, i5: number, i6: number, i7: number, i8: number, i9: number, i19: number, i11: number, i12: number, i13: number, i14: number, i15: number, i16: number, i17: number, res1: string, res2: string, label: string, subscript: string): { i1: number; i2: number; i3: number; i4: number; i5: number; i6: number; i7: number; i8: number; i9: number; i19: number; i11: number; i12: number; i13: number; i14: number; i15: number; i16: number; i17: number }

    returns values recorded in DirPart (content of cstrings are modified)

    Parameters (21)
    • i1
    • i2
    • i3
    • i4
    • i5
    • i6
    • i7
    • i8
    • i9
    • i19
    • i11
    • i12
    • i13
    • i14
    • i15
    • i16
    • i17
    • res1
    • res2
    • label
    • subscript
    Returns

    A result object with fields:

    • i1: updated value from the call.
    • i2: updated value from the call.
    • i3: updated value from the call.
    • i4: updated value from the call.
    • i5: updated value from the call.
    • i6: updated value from the call.
    • i7: updated value from the call.
    • i8: updated value from the call.
    • i9: updated value from the call.
    • i19: updated value from the call.
    • i11: updated value from the call.
    • i12: updated value from the call.
    • i13: updated value from the call.
    • i14: updated value from the call.
    • i15: updated value from the call.
    • i16: updated value from the call.
    • i17: updated value from the call.
  • returns "type" and "form" info, used to recognize the entity

IGESData_FileProtocol

This class allows to define complex protocols, in order to treat various sub-sets (or the complete set) of the IGES Norm, such as Solid + Draw (which are normally independent), etc... While it inherits Protocol from IGESData, it admits UndefinedEntity too.

Constructors(1)

Static methods(2)

Instance methods(4)

IGESData_FileRecognizer

Static methods(2)

Instance methods(4)

  • Evaluate(akey: IGESData_IGESType): { returnValue: boolean; res: IGESData_IGESEntity; [Symbol.dispose](): void }

    Evaluates if recognition has a result, returns it if yes In case of success, Returns True and puts result in "res" In case of Failure, simply Returns False Works by calling deferred method Eval, and in case of failure, looks for Added Recognizers to work.

    Parameters (1)
    • akey
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • res: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • Returns result of last recognition (call of Evaluate).

  • Adds a new Recognizer to the Compound, at the end Several calls to Add work by adding in the order of calls : Hence, when Eval has failed to recognize, Evaluate will call Evaluate from the first added Recognizer if there is one, and to the second if there is still no result, and so on.

    Parameters (1)
    • reco

IGESData_GeneralModule

Interface_GeneralModuleStandard_Transient

Definition of General Services adapted to IGES. This Services comprise : Shared & Implied Lists, Copy, Check They are adapted according to the organisation of IGES Entities : Directory Part, Lists of Associativities and Properties are specifically processed.

Static methods(2)

Instance methods(13)

  • CheckCase(CN: number, ent: Standard_Transient, shares: Interface_ShareTool): { ach: Interface_Check; [Symbol.dispose](): void }

    Semantic Checking of an IGESEntity. Performs general Checks, which use DirChecker, then call OwnCheck which does a check specific for each type of Entity.

    Parameters (3)
    • CN
    • ent
    • shares
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • Returns a DirChecker, specific for each type of Entity (identified by its Case Number) : this DirChecker defines constraints which must be respected by the DirectoryPart.

    Parameters (2)
    • CN
    • ent
  • OwnCheckCase(CN: number, ent: IGESData_IGESEntity, shares: Interface_ShareTool): { ach: Interface_Check; [Symbol.dispose](): void }

    Performs Specific Semantic Check for each type of Entity.

    Parameters (3)
    • CN
    • ent
    • shares
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • CanCopy(CN: number, ent: Standard_Transient): boolean

    Specific answer to the question "is Copy properly implemented" For IGES, answer is always True.

    Parameters (2)
    • CN
    • ent
  • NewVoid(CN: number): { returnValue: boolean; entto: Standard_Transient; [Symbol.dispose](): void }

    Specific creation of a new void entity.

    Parameters (1)
    • CN
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • entto: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • CopyCase(CN: number, entfrom: Standard_Transient, entto: Standard_Transient, TC: Interface_CopyTool): void

    Copy ("Deep") from <entfrom> to <entto> (same type) by using a CopyTool which provides its working Map. For IGESEntities, Copies general data (Directory Part, List of Properties) and call OwnCopyCase.

    Parameters (4)
    • CN
    • entfrom
    • entto
    • TC
  • Copies parameters which are specific of each Type of Entity.

    Parameters (4)
    • CN
    • entfrom
    • entto
    • TC
  • Renewing of Implied References. For IGESEntities, Copies general data(List of Associativities) and calls OwnRenewCase.

    Parameters (4)
    • CN
    • entfrom
    • entto
    • TC
  • Renews parameters which are specific of each Type of Entity : the provided default does nothing, but this method may be redefined as required.

    Parameters (4)
    • CN
    • entfrom
    • entto
    • TC
  • WhenDeleteCase(CN: number, ent: Standard_Transient, dispatched: boolean): void

    Prepares an IGES Entity for delete : works on directory part then calls OwnDeleteCase While dispatch requires to copy the entities, <dispatched> is ignored, entities are cleared in any case.

    Parameters (3)
    • CN
    • ent
    • dispatched
  • OwnDeleteCase(CN: number, ent: IGESData_IGESEntity): void

    Specific preparation for delete, acts on own parameters Default does nothing, to be redefined as required.

    Parameters (2)
    • CN
    • ent
  • Returns the name of an IGES Entity (its NameValue) Can be redefined for an even more specific case ...

    Parameters (3)
    • CN
    • ent
    • shares

IGESData_GlobalNodeOfSpecificLib

Constructors(1)

Static methods(2)

Instance methods(5)

IGESData_GlobalNodeOfWriterLib

Constructors(1)

Static methods(2)

Instance methods(5)

IGESData_GlobalSection

Description of a global section (corresponds to file header) used as well in IGESModel, IGESReader and IGESWriter Warning : From IGES-5.1, a parameter is added : LastChangeDate (concerns transferred set of data, not the file itself) Of course, it can be absent if read from earlier versions (a default is then to be set to current date) From 5.3, one more : ApplicationProtocol (optional).

Constructors(1)

Static methods(2)

  • NewDateString(year: number, month: number, day: number, hour: number, minut: number, second: number, mode: number): TCollection_HAsciiString

    Returns a string built from year, month, day, hour, minute and second values. The form of the resulting string is defined as follows:

    • -1: YYMMDD.HHNNSS,
    • 0: YYYYMMDD.HHNNSS,
    • 1: YYYY-MM-DD:HH-NN-SS, where:
    • YYYY or YY is 4 or 2 digit year,
    • HH is hour (00-23),
    • MM is month (01-12),
    • NN is minute (00-59)
    • DD is day (01-31),
    • SS is second (00-59).
    Parameters (7)
    • year
    • month
    • day
    • hour
    • minut
    • second
    • mode
  • Converts the string given in the form YYMMDD.HHNNSS or YYYYMMDD.HHNNSS to either YYMMDD.HHNNSS, YYYYMMDD.HHNNSS or YYYY-MM-DD:HH-NN-SS.

    Parameters (2)
    • date
    • mode

Instance methods(65)

IGESData_IGESDumper

Provides a way to obtain a clear Dump of an IGESEntity (distinct from normalized output). It works with tools attached to Entities, as for normalized Reade and Write.
For each Entity, displaying data is split in own data (specific to each type) and other attached data, which are defined for all IGES Types (either from "Directory Entry" or from Lists of Associativities and Properties)

Constructors(1)

  • Returns an IGESDumper ready to work. The IGESModel provides the numbering of Entities: as for any InterfaceModel, it gives each Entity a number; but for IGESEntities, the "Number of Directory Entry" according to the definition of IGES Files, is also useful.

    Parameters (2)
    • model
    • protocol

IGESData_IGESEntity

defines root of IGES Entity definition, including Directory Part, lists of (optional) Properties and Associativities

Static methods(2)

Instance methods(64)

  • gives IGES typing info (includes "Type" and "Form" data)

  • TypeNumber(): number

    gives IGES Type Number (often coupled with Form Number)

  • FormNumber(): number

    Returns the form number for that type of an IGES entity. The default form number is 0.

  • Returns the Entity which has been recorded for a given Field Number, i.e. without any cast. Maps with: 3 : Structure 4 : LineFont 5 : LevelList 6 : View 7 : Transf(ormation Matrix) 8 : LabelDisplay 13 : Color. Other values give a null handle It can then be of any kind, while specific items have a Type.

    Parameters (1)
    • fieldnum
  • HasStructure(): boolean

    returns True if an IGESEntity is defined with a Structure (it is normally reserved for certain classes, such as Macros)

  • Returns Structure (used by some types of IGES Entities only) Returns a Null Handle if Structure is not defined.

  • Returns the definition status of LineFont.

  • RankLineFont(): number

    Returns LineFont definition as an Integer (if defined as Rank) If LineFont is defined as an Entity, returns a negative value.

  • Returns LineFont as an Entity (if defined as Reference) Returns a Null Handle if DefLineFont is not "DefReference".

  • Returns the definition status of Level.

  • Level(): number

    Returns the level the entity belongs to. Returns -1 if the entity belongs to more than one level.

  • Returns LevelList if Level is defined as a list. Returns a null handle if DefLevel is not DefSeveral.

  • Returns the definition status of the view. This can be: none, one or several.

  • Returns the view of this IGES entity. This view can be a single view or a list of views. Warning A null handle is returned if the view is not defined.

  • Returns the view as a single view if it was defined as such and not as a list of views. Warning A null handle is returned if DefView does not have the value DefOne.

  • Returns the view of this IGES entity as a list. Warning A null handle is returned if the definition status does not have the value DefSeveral.

  • HasTransf(): boolean

    Returns True if a Transformation Matrix is defined.

  • Returns the Transformation Matrix (under IGES definition) Returns a Null Handle if there is none for a more complete use, see Location & CompoundLocation.

  • HasLabelDisplay(): boolean

    Returns True if a LabelDisplay mode is defined for this entity.

  • Returns the Label Display Associativity Entity if there is one. Returns a null handle if there is none.

  • BlankStatus(): number

    gives Blank Status (0 visible, 1 blanked)

  • gives Subordinate Switch (0-1-2-3)

  • UseFlag(): number

    gives Entity's Use Flag (0 to 5)

  • HierarchyStatus(): number

    gives Hierarchy status (0-1-2)

  • Returns the LineWeight Number (0 not defined), see also LineWeight.

  • LineWeight(): number

    Returns the true Line Weight, computed from LineWeightNumber and Global Parameter in the Model by call to SetLineWeight.

  • Returns the definition status of Color.

  • RankColor(): number

    Returns the color definition as an integer value if the color was defined as a rank. Warning A negative value is returned if the color was defined as an entity.

  • Returns the IGES entity which describes the color of the entity. Returns a null handle if this entity was defined as an integer.

  • CResValues(res1: string, res2: string): boolean

    returns "reserved" alphanumeric values res1 and res2 res1 and res2 have to be reserved as Character[9 at least] (remark : their content is changed) returned values are ended by null character in 9th returned Boolean is False if res1 and res2 are blank, true else

    Parameters (2)
    • res1
    • res2
  • HasShortLabel(): boolean

    Returns true if a short label is defined. A short label is a non-blank 8-character string.

  • Returns the label value for this IGES entity as a string. Warning If the label is blank, this string is null.

  • Returns true if a subscript number is defined. A subscript number is an integer used to identify a label.

  • SubScriptNumber(): number

    Returns the integer subscript number used to identify this IGES entity. Warning 0 is returned if no subscript number is defined for this IGES entity.

  • InitDirFieldEntity(fieldnum: number, ent: IGESData_IGESEntity): void

    Initializes a directory field as an Entity of any kind See DirFieldEntity for more details.

    Parameters (2)
    • fieldnum
    • ent
  • Initializes Transf, or erases it if <ent> is given Null.

    Parameters (1)
    • ent
  • Initializes View, or erases it if <ent> is given Null.

    Parameters (1)
    • ent
  • InitLineFont(ent: IGESData_LineFontEntity, rank?: number): void

    Initializes LineFont : if <ent> is not Null, it gives LineFont, else <rank> gives or erases (if zero) RankLineFont.

    Parameters (2)
    • ent
    • rank
  • InitLevel(ent: IGESData_LevelListEntity, val?: number): void

    Initializes Level : if <ent> is not Null, it gives LevelList, else <val> gives or erases (if zero) unique Level.

    Parameters (2)
    • ent
    • val
  • InitColor(ent: IGESData_ColorEntity, rank?: number): void

    Initializes Color data : if <ent> is not Null, it gives Color, else <rank> gives or erases (if zero) RankColor.

    Parameters (2)
    • ent
    • rank
  • InitStatus(blank: number, subordinate: number, useflag: number, hierarchy: number): void

    Initializes the Status of Directory Part.

    Parameters (4)
    • blank
    • subordinate
    • useflag
    • hierarchy
  • SetLabel(label: TCollection_HAsciiString, sub?: number): void

    Sets a new Label to an IGES Entity If is given, it sets value of SubScriptNumber else, SubScriptNumber is erased.

    Parameters (2)
    • label
    • sub
  • InitMisc(str: IGESData_IGESEntity, lab: IGESData_LabelDisplayEntity, weightnum: number): void

    Initializes various data (those not yet seen above), or erases them if they are given as Null (Zero for <weightnum>) : <str> for Structure, <lab> for LabelDisplay, and <weightnum> for WeightNumber.

    Parameters (3)
    • str
    • lab
    • weightnum
  • HasOneParent(): boolean

    Returns True if an entity has one and only one parent, defined by a SingleParentEntity Type Associativity (explicit sharing). Thus, implicit sharing remains defined at model level (see class ToolLocation).

  • Returns the Unique Parent (in the sense given by HasOneParent) Error if there is none or several.

  • Returns Location given by Transf in Directory Part (see above) It must be considered for local definition : if the Entity is set in a "Parent", that one can add its one Location, but this is not taken in account here : see CompoundLocation for that. If no Transf is defined, returns Identity If Transf is itself compound, gives the final result.

  • Returns Location considered for Vectors, i.e. without its Translation Part. As Location, it gives local definition.

  • Returns Location by taking in account a Parent which has its own Location : that one will be combined to that of <me> The Parent is considered only if HasOneParent is True, else it is ignored and CompoundLocation = Location.

  • HasName(): boolean

    says if a Name is defined, as Short Label or as Name Property (Property is looked first, else ShortLabel is considered)

  • returns Name value as a String (Property Name or ShortLabel) if SubNumber is defined, it is concatenated after ShortLabel as follows label(number). Ignored with a Property Name

  • Returns True if the Entity is defined with an Associativity list, even empty (that is, file contains its length 0) Else, the file contained NO idencation at all about this list.

  • gives number of recorded associativities (0 no list defined)

  • gives how many Associativities have a given type

    Parameters (1)
    • atype
  • returns the Associativity of a given Type (if only one exists) Error if none or more than one

    Parameters (1)
    • atype
  • Sets "me" in the Associativity list of another Entity.

    Parameters (1)
    • ent
  • Resets "me" from the Associativity list of another Entity.

    Parameters (1)
    • ent
  • Returns True if the Entity is defined with a Property list, even empty (that is, file contains its length 0) Else, the file contained NO idencation at all about this list.

  • NbProperties(): number

    Gives number of recorded properties (0 no list defined).

  • gives how many Properties have a given type

    Parameters (1)
    • atype
  • returns the Property of a given Type Error if none or more than one

    Parameters (2)
    • atype
    • anum
  • Adds a Property in the list.

    Parameters (1)
    • ent
  • Removes a Property from the list.

    Parameters (1)
    • ent
  • SetLineWeight(defw: number, maxw: number, gradw: number): void

    computes and sets "true" line weight according IGES rules from global data MaxLineWeight (maxv) and LineWeightGrad (gradw), or sets it to defw (Default) if LineWeightNumber is null

    Parameters (3)
    • defw
    • maxw
    • gradw

IGESData_IGESModel

Defines the file header and entities for IGES files. These headers and entities result from a complete data translation using the IGES data exchange processor. Each entity is contained in a single model only and has a unique identifier. You can access this identifier using the method Number. Gives an access to the general data in the Start and the Global sections of an IGES file. The IGES file includes the following sections: -Start, -Global, -Directory Entry, -Parameter Data, -Terminate.

Constructors(1)

Static methods(2)

Instance methods(20)

  • ClearHeader(): void

    Erases all data specific to IGES file Header (Start + Global).

  • Returns Model's Start Section (list of comment lines).

  • NbStartLines(): number

    Returns the count of recorded Start Lines.

  • StartLine(num: number): string

    Returns a line from the IGES file Start section by specifying its number. An empty string is returned if the number given is out of range, the range being from 1 to NbStartLines.

    Parameters (1)
    • num
  • Clears the IGES file Start Section.

  • Sets a new Start section from a list of strings. If copy is false, the Start section will be shared. Any modifications made to the strings later on, will have an effect on the Start section. If copy is true (default value), an independent copy of the strings is created and used as the Start section. Any modifications made to the strings later on, will have no effect on the Start section.

    Parameters (2)
    • list
    • copy
  • AddStartLine(line: string, atnum?: number): void

    Adds a new string to the existing Start section at the end if atnum is 0 or not given, or before atnumth line.

    Parameters (2)
    • line
    • atnum
  • Returns the Global section of the IGES file.

  • Returns the Global section of the IGES file.

  • Sets the Global section of the IGES file.

    Parameters (1)
    • header
  • ApplyStatic(param?: string): boolean

    Sets some of the Global section parameters with the values defined by the translation parameters. param may be:

    • receiver (value read in XSTEP.iges.header.receiver),
    • author (value read in XSTEP.iges.header.author),
    • company (value read in XSTEP.iges.header.company). The default value for param is an empty string. Returns True when done and if param is given, False if param is unknown or empty. Note: Set the unit in the IGES file Global section via IGESData_BasicEditor class.
    Parameters (1)
    • param
  • Returns an IGES entity given by its rank number.

    Parameters (1)
    • num
  • Returns the equivalent DE Number for an Entity, i.e. 2*Number(ent)-1 , or 0 if <ent> is unknown from <me> This DE Number is used for File Writing for instance.

    Parameters (1)
    • ent
  • gets Header (GlobalSection) from another Model

    Parameters (1)
    • other
  • Returns a New Empty Model, same type as <me> i.e. IGESModel.

  • VerifyCheck(): { ach: Interface_Check; [Symbol.dispose](): void }

    Checks that the IGES file Global section contains valid data that conforms to the IGES specifications.

    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • SetLineWeights(defw: number): void

    Sets LineWeights of contained Entities according header data (MaxLineWeight and LineWeightGrad) or to a default value for undefined weights.

    Parameters (1)
    • defw
  • ClearLabels(): void

    erases specific labels, i.e. does nothing

  • Returns a string with the label attached to a given entity, i.e. a string "Dnn" with nn = directory entry number (2*N-1).

    Parameters (1)
    • ent

IGESData_IGESReaderTool

specific FileReaderTool for IGES Parameters are accessed through specific objects, ParamReaders

Instance methods(4)

  • Recognize(num: number): { returnValue: boolean; ach: Interface_Check; ent: Standard_Transient; [Symbol.dispose](): void }

    recognizes records by asking Protocol (on data of DirType)

    Parameters (1)
    • num
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • ach: owned by the returned envelope.
    • ent: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • fills model's header, that is, its GlobalSection

    Parameters (1)
    • amodel
  • AnalyseRecord(num: number, anent: Standard_Transient): { returnValue: boolean; acheck: Interface_Check; [Symbol.dispose](): void }

    fills an entity, given record no; works by calling ReadDirPart then ReadParams (with help of a ParamReader), then if required ReadProps and ReadAssocs, from IGESEntity Returns True if no fail has been recorded

    Parameters (2)
    • num
    • anent
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • acheck: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.
  • after reading entities, true line weights can be computed

    Parameters (1)
    • amodel

IGESData_IGESType

taken from directory part of an entity (from file or model), gives "type" and "form" data, used to recognize entity's type

Constructors(2)

Instance methods(4)

  • Type(): number

    returns "type" data

  • Form(): number

    returns "form" data

  • IsEqual(another: IGESData_IGESType): boolean

    compares two IGESTypes, avoiding comparing their fields

    Parameters (1)
    • another
  • Nullify(): void

    resets fields (useful when an IGESType is stored as mask)

IGESData_IGESWriter

manages atomic file writing, under control of IGESModel : prepare text to be sent then sends it takes into account distinction between successive Sections

Constructors(3)

Instance methods(23)

  • Returns the embedded FloatWriter, which controls sending Reals Use this method to access FloatWriter in order to consult or change its options (MainFormat, FormatForRange,ZeroSuppress), because it is returned as the address of its field.

  • WriteMode(): number

    Returns the write mode, in order to be read and/or changed Write Mode controls the way final print works 0 (D) : Normal IGES, 10 : FNES.

  • SendStartLine(startline: string): void

    Sends an additional Starting Line : this is the way used to send comments in an IGES File (at beginning of the file). If the line is more than 72 chars long, it is split into as many lines as required to send it completely.

    Parameters (1)
    • startline
  • SendModel(protocol: IGESData_Protocol): void

    Sends the complete IGESModel (Global Section, Entities as Directory Entries & Parameter Lists, etc...) i.e. fills a list of texts. Once filled, it can be sent by method Print.

    Parameters (1)
    • protocol
  • SectionS(): void

    declares sending of S section (only a declaration) error if state is not initial

  • prepares sending of header, from a GlobalSection (stores it) error if SectionS was not called just before takes in account special characters (Separator, EndMark)

    Parameters (1)
    • header
  • SectionsDP(): void

    prepares sending of list of entities, as Sections D (directory list) and P (Parameters lists, one per entity) Entities will be then processed, one after the other error if SectionG has not be called just before

  • SectionT(): void

    declares sending of T section (only a declaration) error if does not follow Entities sending

  • translates directory part of an Entity into a literal DirPart Some infos are computed after sending parameters Error if not in sections DP or Stage not "Dir"

    Parameters (1)
    • anent
  • sends own parameters of the entity, by sending firstly its type, then calling specific method WriteOwnParams Error if not in sections DP or Stage not "Own"

    Parameters (1)
    • anent
  • sends associativity list, as complement of parameters list error if not in sections DP or Stage not "Associativity"

    Parameters (1)
    • anent
  • sends property list, as complement of parameters list error if not in sections DP or Stage not "Property"

    Parameters (1)
    • anent
  • EndEntity(): void

    declares end of sending an entity (ends param list by ';')

  • SendVoid(): void

    sends a void parameter, that is null text

  • Send(val: number): void

    sends an Integer parameter

    Parameters (1)
    • val
  • Send(val: number): void

    sends a Real parameter. Works with FloatWriter

    Parameters (1)
    • val
  • sends a Text parameter under Hollerith form

    Parameters (1)
    • val
  • Send(val: gp_XY): void

    Sends a XY, interpreted as a couple of 2 Reals (X & Y).

    Parameters (1)
    • val
  • Send(val: gp_XYZ): void

    Sends a XYZ, interpreted as a couple of 2 Reals (X , Y & Z).

    Parameters (1)
    • val
  • Send(val: IGESData_IGESEntity, negative: boolean): void

    sends a Reference to an Entity (if its Number is N, its pointer is 2*N-1) If <val> is Null, "0" will be sent If <negative> is True, "Pointer" is sent as negative

    Parameters (2)
    • val
    • negative
  • SendBoolean(val: boolean): void

    sends a Boolean parameter as an Integer value 0(False)/1(True)

    Parameters (1)
    • val
  • sends a parameter under its exact form given as a string

    Parameters (1)
    • val
  • Returns the list of strings for a section given its rank 1 : Start (if not empty) 2 : Global 3 or 4 : Parameters RQ: no string list for Directory section An empty section gives a null handle.

    Parameters (1)
    • numsec

IGESData_LevelListEntity

defines required type for LevelList in directory part an effective LevelList entity must inherits it

Static methods(2)

Instance methods(4)

  • NbLevelNumbers(): number

    Must return the count of levels.

  • LevelNumber(num: number): number

    returns the Level Number of <me>, indicated by <num> raises an exception if num is out of range

    Parameters (1)
    • num
  • HasLevelNumber(level: number): boolean

    returns True if <level> is in the list

    Parameters (1)
    • level

IGESData_NodeOfSpecificLib

Constructors(1)

Static methods(2)

Instance methods(5)

IGESData_NodeOfWriterLib

Constructors(1)

Static methods(2)

Instance methods(5)

IGESData_ParamCursor

Auxiliary class for ParamReader. It stores commands for a ParamReader to manage the current parameter number. Used by methods Read... from ParamReader. It allows to define the following commands :

  • read a parameter specified by a precise Number (basic case)
  • read a parameter then set Current Number to follow its number
  • read the current parameter (with Current Number) then advance Current Number by one
  • idem with several : read "nb" parameters from one specified, included, with or without setting Current Number to follow last parameter read
  • read several parameter from the current one, then advance Current Number to follow the last one read
  • Read several parameters (as above) but in interlaced lists, i.e. from complex items (each one including successively for instance, an Integer, a Real, an Entity ...)
    If commands to advance Current Number are not set, it must be set by the user (with method SetCurrent from ParamReader) ParamReader offers methods which create most useful cases

Constructors(2)

  • Creates a Cursor to read a precise parameter of ParamReader, identified by its number, then set Current Number to "num + 1" (this constructor allows to simply give a Number to a method Read... from ParamReader, which will be translated into a ParamCursor by compiler).

    Parameters (1)
    • num
  • constructor(num: number, nb: number, size?: number): IGESData_ParamCursor

    Creates a Cursor to read a list of parameters (count "nb") starting from a precise one (number "num") included, then set Current Number of ParamNumber to the first following one ("num + nb") If size is given, it means that each parameter is made of more than one term. One term is the normal (default) case : for instance, a Parameter comprises one Integer, or one Entity ... Size gives the complete size of each Item if it is complex. To be used ONLY IF it is constant.

    Parameters (3)
    • num
    • nb
    • size

Instance methods(12)

  • SetTerm(size: number, autoadv?: boolean): void

    Defines the size of a term to read in the item : this commands ParamReader to read "size" parameters for each item, then skip the remainder of the item to the same term of next Item (that is, skip "item size" - "term size").
    In addition, Offset from beginning of Item is managed : After being created, and for the first call to SetTerm, the part of Item to be read begins exactly as the Item begins But after a SetTerm, the next read will add an offset which is the size of former term.
    autoadv commands Advance management. If it is True (default), the last SetTerm (Item size has been covered) calls SetAdvance If it is False, SetAdvance must be called directly if necessary
    Error if a SetTerm overpasses the size of the Item

    Parameters (2)
    • size
    • autoadv
  • SetOne(autoadv?: boolean): void

    Defines a term of one Parameter (very current case).

    Parameters (1)
    • autoadv
  • SetXY(autoadv?: boolean): void

    Defines a term of two Parameters for a XY (current case).

    Parameters (1)
    • autoadv
  • SetXYZ(autoadv?: boolean): void

    Defines a term of three Parameters for XYZ (current case).

    Parameters (1)
    • autoadv
  • SetAdvance(advance: boolean): void

    Changes command to advance current cursor after reading parameters. If "advance" True, sets advance, if "False", resets it. ParamCursor is created by default with True.

    Parameters (1)
    • advance
  • Start(): number

    Returns (included) starting number for reading parameters.

  • Limit(): number

    Returns (excluded) upper limit number for reading parameters.

  • Count(): number

    Returns required count of items to be read.

  • ItemSize(): number

    Returns length of item (count of parameters per item).

  • TermSize(): number

    Returns length of current term (count of parameters) in item.

  • Offset(): number

    Returns offset from which current term must be read in item.

  • Advance(): boolean

    Returns True if Advance command has been set.

IGESData_Protocol

Description of basic Protocol for IGES This comprises treatment of IGESModel and Recognition of Undefined-FreeFormat-Entity.

Constructors(1)

Static methods(2)

Instance methods(8)

IGESData_ReadWriteModule

Defines basic File Access Module, under the control of IGESReaderTool for Reading and IGESWriter for Writing : Specific actions concern : Read and Write Own Parameters of an IGESEntity. The common parts (Directory Entry, Lists of Associativities and Properties) are processed by IGESReaderTool & IGESWriter.
Each sub-class of ReadWriteModule is used in conjunction with a sub-class of Protocol from IGESData and processes several types of IGESEntity (typically, them of a package) : The Protocol gives a unique positive integer Case Number for each type of IGESEntity it recognizes, the corresponding ReadWriteModule processes an Entity by using the Case Number to known what is to do On Reading, the general service NewVoid is used to create an IGES Entity the first time
Warning : Works with an IGESReaderData which stores "DE parts" of Items

Static methods(2)

Instance methods(2)

  • Writes own parameters to IGESWriter; defined for each class (to be redefined for other IGES ReadWriteModules) Warning : Properties and Associativities are directly managed by WriteIGES, must not be sent by this method.

    Parameters (3)
    • CN
    • ent
    • IW
      Mutated in place; read the updated value from this argument after the call.

IGESData_SingleParentEntity

a SingleParentEntity is a kind of IGESEntity which can refer to a (Single) Parent, from Associativities list of an Entity a effective SingleParent definition entity must inherit it

Static methods(2)

Instance methods(4)

IGESData_SpecificLib

Constructors(2)

  • Creates an empty Library : it will later by filled by method AddProtocol.

  • Creates a Library which complies with a Protocol, that is : Same class (criterium IsInstance) This creation gets the Modules from the global set, those which are bound to the given Protocol and its Resources.

    Parameters (1)
    • aprotocol

Static methods(1)

Instance methods(9)

  • Adds a couple (Module-Protocol) to the Library, given the class of a Protocol. Takes Resources into account. (if <aprotocol> is not of type TheProtocol, it is not added).

    Parameters (1)
    • aprotocol
  • Clear(): void

    Clears the list of Modules of a library (can be used to redefine the order of Modules before action : Clear then refill the Library by calls to AddProtocol).

  • SetComplete(): void

    Sets a library to be defined with the complete Global list (all the couples Protocol/Modules recorded in it).

  • Select(obj: IGESData_IGESEntity, CN: number): { returnValue: boolean; module_: IGESData_SpecificModule; CN: number; [Symbol.dispose](): void }

    Selects a Module from the Library, given an Object. Returns True if Select has succeeded, False else. Also Returns (as arguments) the selected Module and the Case Number determined by the associated Protocol. If Select has failed, <module> is Null Handle and CN is zero. (Select can work on any criterium, such as Object DynamicType).

    Parameters (2)
    • obj
    • CN
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • module_: owned by the returned envelope.
    • CN: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • Start(): void

    Starts Iteration on the Modules (sets it on the first one).

  • More(): boolean

    Returns True if there are more Modules to iterate on.

  • Next(): void

    Iterates by getting the next Module in the list If there is none, the exception will be raised by Value.

  • Returns the current Module in the Iteration.

  • Returns the current Protocol in the Iteration.

IGESData_SpecificModule

This class defines some Services which are specifically attached to IGES Entities : Dump.

Static methods(2)

Instance methods(2)

  • OwnCorrect(CN: number, ent: IGESData_IGESEntity): boolean

    Specific Automatic Correction on own Parameters of an Entity. It works by setting in accordance redundant data, if there are when there is no ambiguity (else, it does nothing). Remark that classic Corrections on Directory Entry (to set void data) are taken into account alsewhere.
    For instance, many "Associativity Entities" have a Number of Properties which must have a fixed value. Or, a ConicalArc has its Form Number which records the kind of Conic, also determined from its coefficients But, a CircularArc of which Distances (Center-Start) and (Center-End) are not equal cannot be corrected ...
    Returns True if something has been corrected in <ent> By default, does nothing. If at least one of the Types processed by a sub-class of SpecificModule has a Correct procedure attached, this method can be redefined

    Parameters (2)
    • CN
    • ent

IGESData_ToolLocation

This Tool determines and gives access to effective Locations of IGES Entities as defined by the IGES Norm. These Locations can be for each Entity :

  • on one part, explicitly defined by a Transf in Directory Part (this Transf can be itself compound); if not defined, no proper Transformation is defined
  • on the other part, implicitly defined by a reference from another Entity : its Parent Both implicit and explicit locations are combinable.
    Implicit definition can be itself defined, either through the definition of an Entity (i.e. a Composite Curve references a list of Curves), or by a specific Associativity, of type SingleParentEntity, by which the Location of the Parent is applied to the Childs defined by this Associativity. Remark that a Transf itself has no Location, but it can be compound
    This is a TShared object, then it is easier to use in an interactive session

Constructors(1)

Static methods(3)

  • ConvertLocation(prec: number, loc: gp_GTrsf, result: gp_Trsf, uni: number): boolean

    Conversion of a Location, from GTrsf form to Trsf form Works with a precision given as argument. Returns True if the Conversion is possible, (hence, <result> contains the converted location), False else <unit>, if given, indicates the unit in which <loc> is defined in meters. It concerns the translation part (to be converted.
    As a class method, it can be called separately

    Parameters (4)
    • prec
    • loc
    • result
      Mutated in place; read the updated value from this argument after the call.
    • uni
  • get_type_name(): string

Instance methods(18)

  • Load(): void

    Does the effective work of determining Locations of Entities.

  • SetPrecision(prec: number): void

    Sets a precision for the Analysis of Locations (default by constructor is 1.E-05).

    Parameters (1)
    • prec
  • Sets the "Reference" information for <child> as being <parent> Sets an Error Status if already set (see method IsAmbiguous).

    Parameters (2)
    • parent
    • child
  • Sets the "Associativity" information for <child> as being <parent> (it must be the Parent itself, not the Associativity).

    Parameters (2)
    • parent
    • child
  • Resets all information about dependences for <child>.

    Parameters (1)
    • child
  • Unitary action which defines Entities referenced by <ent> (except those in Directory Part and Associativities List) as Dependent (their Locations are related to that of <ent>).

    Parameters (1)
    • ent
  • Returns True if <ent> is kind of TransfEntity. Then, it has no location, while it can be used to define a Location).

    Parameters (1)
    • ent
  • Returns True if <ent> is an Associativity (IGES Type 402). Then, Location does not apply.

    Parameters (1)
    • ent
  • Returns True if <ent> has a Transformation Matrix in proper (referenced from its Directory Part).

    Parameters (1)
    • ent
  • Returns the Explicit Location defined by the Transformation Matrix of <ent>. Identity if there is none.

    Parameters (1)
    • ent
  • Returns True if more than one Parent has been determined for <ent>, by adding direct References and Associativities.

    Parameters (1)
    • ent
  • Returns True if <ent> is dependent from one and only one other Entity, either by Reference or by Associativity.

    Parameters (1)
    • ent
  • Returns the unique Parent recorded for <ent>. Returns a Null Handle if there is none.

    Parameters (1)
    • ent
  • Returns True if the Parent, if there is one, is defined by a SingleParentEntity Associativity Else, if HasParent is True, it is by Reference.

    Parameters (1)
    • ent
  • Returns the effective Location of the Parent of <ent>, if there is one : this Location is itself given as compound according dependences on the Parent, if there are some. Returns an Identity Transformation if no Parent is recorded.

    Parameters (1)
    • ent
  • Returns the effective Location of an Entity, i.e. the composition of its proper Transformation Matrix (returned by Transf) and its Parent's Location (returned by ParentLocation).

    Parameters (1)
    • ent
  • AnalyseLocation(loc: gp_GTrsf, result: gp_Trsf): boolean

    Analysis a Location given as a GTrsf, by trying to convert it to a Trsf (i.e. to a True Location of which effect is described by an Isometry or a Similarity) Works with the Precision given by default or by SetPrecision Calls ConvertLocation (see below).

    Parameters (2)
    • loc
    • result
      Mutated in place; read the updated value from this argument after the call.

IGESData_TransfEntity

defines required type for Transf in directory part an effective Transf entity must inherits it

Static methods(2)

Instance methods(2)

  • gives value of the transformation, as a GTrsf To be defined by an effective class of Transformation Entity Warning : Must take in account Composition : if a TransfEntity has in its Directory Part, a Transf, this means that it is Compound, Value must return the global result

IGESData_UndefinedEntity

undefined (unknown or error) entity specific of IGES DirPart can be correct or not : if it is not, a flag indicates it, and each corrupted field has an associated error flag

Constructors(1)

Static methods(2)

Instance methods(9)

IGESData_ViewKindEntity

defines required type for ViewKind in directory part that is, Single view or Multiple view An effective ViewKind entity must inherit it and define IsSingle (True for Single, False for List of Views), NbViews and ViewItem (especially for a List)

Static methods(2)

Instance methods(4)

  • IsSingle(): boolean

    says if "me" is a Single View (True) or a List of Views (False)

  • NbViews(): number

    Returns the count of Views for a List of Views. For a Single View, may return simply 1.

  • Returns the View n0. <num> for a List of Views. For a Single Views, may return <me> itself.

    Parameters (1)
    • num

IGESData_WriterLib

Constructors(2)

  • Creates an empty Library : it will later by filled by method AddProtocol.

  • Creates a Library which complies with a Protocol, that is : Same class (criterium IsInstance) This creation gets the Modules from the global set, those which are bound to the given Protocol and its Resources.

    Parameters (1)
    • aprotocol

Static methods(1)

Instance methods(9)

  • Adds a couple (Module-Protocol) to the Library, given the class of a Protocol. Takes Resources into account. (if <aprotocol> is not of type TheProtocol, it is not added).

    Parameters (1)
    • aprotocol
  • Clear(): void

    Clears the list of Modules of a library (can be used to redefine the order of Modules before action : Clear then refill the Library by calls to AddProtocol).

  • SetComplete(): void

    Sets a library to be defined with the complete Global list (all the couples Protocol/Modules recorded in it).

  • Select(obj: IGESData_IGESEntity, CN: number): { returnValue: boolean; module_: IGESData_ReadWriteModule; CN: number; [Symbol.dispose](): void }

    Selects a Module from the Library, given an Object. Returns True if Select has succeeded, False else. Also Returns (as arguments) the selected Module and the Case Number determined by the associated Protocol. If Select has failed, <module> is Null Handle and CN is zero. (Select can work on any criterium, such as Object DynamicType).

    Parameters (2)
    • obj
    • CN
    Returns

    A result object with fields:

    • returnValue: the C++ return value
    • module_: owned by the returned envelope.
    • CN: updated value from the call.
      Dispose the returned envelope to release owned Handle fields.
  • Start(): void

    Starts Iteration on the Modules (sets it on the first one).

  • More(): boolean

    Returns True if there are more Modules to iterate on.

  • Next(): void

    Iterates by getting the next Module in the list If there is none, the exception will be raised by Value.

  • Returns the current Module in the Iteration.

  • Returns the current Protocol in the Iteration.