OpenCascade.js
API ReferenceDataExchangeTKDESTEP

StepData

OCCT package StepData: StepData, StepData_Described, StepData_ECDescr, StepData_EDescr, and 29 more bound classes.

StepData

Gives basic data definition for Step Interface. Any class of a data model described in EXPRESS Language is candidate to be managed by a Step Interface.

Constructors(1)

Static methods(4)

  • Returns the recorded HeaderProtocol, which can be :

    • a Null Handle if no Header Protocol was yet defined
    • a simple Protocol if only one was defined
    • a FileProtocol if more than one Protocol was yet defined
  • Adds a new Header Protocol to the Header Definition.

    Parameters (1)
    • headerproto
  • Init(): void

    Prepares General Data required to work with this package, which are the Protocol and Modules to be loaded into Libraries.

  • Returns a Protocol from StepData (avoids to create it).

StepData_Described

General frame to describe entities with Description (Simple or Complex).

Static methods(2)

Instance methods(9)

  • Returns the Description used to define this entity.

  • IsComplex(): boolean

    Tells if a described entity is complex.

  • Matches(steptype: string): boolean

    Tells if a step type is matched by <me> For a Simple Entity : own type or super type For a Complex Entity : one of the members.

    Parameters (1)
    • steptype
  • As(steptype: string): StepData_Simple

    Returns a Simple Entity which matches with a Type in <me> : For a Simple Entity : me if it matches, else a null handle For a Complex Entity : the member which matches, else null.

    Parameters (1)
    • steptype
  • HasField(name: string): boolean

    Tells if a Field brings a given name.

    Parameters (1)
    • name
  • Field(name: string): StepData_Field

    Returns a Field from its name; read-only.

    Parameters (1)
    • name
  • CField(name: string): StepData_Field

    Returns a Field from its name; read or write.

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

    Fills a Check by using its Description.

    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

StepData_ECDescr

Describes a Complex Entity (Plex) as a list of Simple ones.

Constructors(1)

Static methods(2)

Instance methods(8)

StepData_EDescr

This class is intended to describe the authorized form for an entity, either Simple or Plex.

Static methods(2)

Instance methods(4)

StepData_EnumTool

This class gives a way of conversion between the value of an enumeration and its representation in STEP An enumeration corresponds to an integer with reserved values, which begin to 0 In STEP, it is represented by a name in capital letter and limited by two dots, e.g. .UNKNOWN.
EnumTool works with integers, it is just required to cast between an integer and an enumeration of required type.
Its definition is intended to allow static creation in once, without having to recreate once for each use.
It is possible to define subclasses on it, which directly give the good list of definition texts, and accepts a enumeration of the good type instead of an integer

Constructors(1)

  • constructor(e0?: string, e1?: string, e2?: string, e3?: string, e4?: string, e5?: string, e6?: string, e7?: string, e8?: string, e9?: string, e10?: string, e11?: string, e12?: string, e13?: string, e14?: string, e15?: string, e16?: string, e17?: string, e18?: string, e19?: string, e20?: string, e21?: string, e22?: string, e23?: string, e24?: string, e25?: string, e26?: string, e27?: string, e28?: string, e29?: string, e30?: string, e31?: string, e32?: string, e33?: string, e34?: string, e35?: string, e36?: string, e37?: string, e38?: string, e39?: string): StepData_EnumTool

    Creates an EnumTool with definitions given by e0 .. e<max> Each definition string can bring one term, or several separated by blanks. Each term corresponds to one value of the enumeration, if dots are not presents they are added.
    Such a static constructor allows to build a static description as : static StepData_EnumTool myenumtool("e0","e1"...); then use it without having to initialise it
    A null definition can be input by given "$" :the corresponding position is attached to "null/undefined" value (as one particular item of the enumeration list)

    Parameters (40)
    • e0
    • e1
    • e2
    • e3
    • e4
    • e5
    • e6
    • e7
    • e8
    • e9
    • e10
    • e11
    • e12
    • e13
    • e14
    • e15
    • e16
    • e17
    • e18
    • e19
    • e20
    • e21
    • e22
    • e23
    • e24
    • e25
    • e26
    • e27
    • e28
    • e29
    • e30
    • e31
    • e32
    • e33
    • e34
    • e35
    • e36
    • e37
    • e38
    • e39

Instance methods(8)

  • AddDefinition(term: string): void

    Processes a definition, splits it according blanks if any empty definitions are ignored A null definition can be input by given "$" :the corresponding position is attached to "null/undefined" value (as one particular item of the enumeration list) See also IsSet.

    Parameters (1)
    • term
  • IsSet(): boolean

    Returns True if at least one definition has been entered after creation time (i.e. by AddDefinition only).
    This allows to build a static description by a first pass : static StepData_EnumTool myenumtool("e0" ...); ... if (!myenumtool.IsSet()) { for further inits myenumtool.AddDefinition("e21"); ... }

  • MaxValue(): number

    Returns the maximum integer for a suitable value Remark : while values begin at zero, MaxValue is the count of recorded values minus one.

  • Optional(mode: boolean): void

    Sets or Unsets the EnumTool to accept undefined value (for optional field). Ignored if no null value is defined (by "$") Can be changed during execution (to read each field), Default is True (if a null value is defined).

    Parameters (1)
    • mode
  • NullValue(): number

    Returns the value attached to "null/undefined value" If none is specified or if Optional has been set to False, returns -1 Null Value has been specified by definition "$".

  • Returns the text which corresponds to a given numeric value It is limited by dots If num is out of range, returns an empty string.

    Parameters (1)
    • num
  • Value(txt: string): number

    Returns the numeric value found for a text The text must be in capitals and limited by dots A non-suitable text gives a negative value to be returned.

    Parameters (1)
    • txt
  • Same as above but works on an AsciiString.

    Parameters (1)
    • txt

StepData_ESDescr

This class is intended to describe the authorized form for a Simple (not Plex) Entity, as a list of fields.

Constructors(1)

Static methods(2)

Instance methods(18)

  • SetNbFields(nb: number): void

    Sets a new count of fields Each one is described by a PDescr.

    Parameters (1)
    • nb
  • SetField(num: number, name: string, descr: StepData_PDescr): void

    Sets a PDescr to describe a field A Field is designated by its rank and name.

    Parameters (3)
    • num
    • name
    • descr
  • Sets an ESDescr as based on another one Hence, if there are inherited fields, the derived ESDescr cumulates all them, while the base just records its own ones.

    Parameters (1)
    • base
  • SetSuper(super_: StepData_ESDescr): void

    Sets an ESDescr as "super-type". Applies an a base (non derived) ESDescr.

    Parameters (1)
    • super_
  • TypeName(): string

    Returns the type name given at creation time.

  • Returns the type name as an AsciiString.

  • Returns the basic ESDescr, null if <me> is not derived.

  • Returns the super-type ESDescr, null if <me> is root.

  • IsSub(other: StepData_ESDescr): boolean

    Tells if <me> is sub-type of (or equal to) another one.

    Parameters (1)
    • other
  • NbFields(): number

    Returns the count of fields.

  • Rank(name: string): number

    Returns the rank of a field from its name. 0 if unknown.

    Parameters (1)
    • name
  • Name(num: number): string

    Returns the name of a field from its rank. empty if outofrange.

    Parameters (1)
    • num
  • Field(num: number): StepData_PDescr

    Returns the PDescr for the field <num> (or Null).

    Parameters (1)
    • num
  • Returns the PDescr for the field named <name> (or Null).

    Parameters (1)
    • name
  • Matches(steptype: string): boolean

    Tells if a ESDescr matches a step type : exact or super type.

    Parameters (1)
    • steptype
  • IsComplex(): boolean

    Returns False.

  • Creates a described entity (i.e. a simple one).

StepData_Factors

Class for using units variables.

Constructors(1)

Instance methods(8)

  • InitializeFactors(theLengthFactor: number, thePlaneAngleFactor: number, theSolidAngleFactor: number): void

    Initializes the 3 factors for the conversion of units.

    Parameters (3)
    • theLengthFactor
    • thePlaneAngleFactor
    • theSolidAngleFactor
  • SetCascadeUnit(theUnit: number): void

    Sets length unit for current transfer process.

    Parameters (1)
    • theUnit
  • CascadeUnit(): number

    Returns length unit for current transfer process (mm by default).

  • LengthFactor(): number

    Returns transient length factor for scaling of shapes at one stage of transfer process.

  • Returns transient plane angle factor for conversion of angles at one stage of transfer process.

  • Returns transient solid angle factor for conversion of angles at one stage of transfer process.

  • Returns transient factor radian degree for conversion of angles at one stage of transfer process.

  • Returns transient factor degree radian for conversion of angles at one stage of transfer process.

StepData_Field

Defines a generally defined Field for STEP data : can be used either in any kind of entity to implement it or in free format entities in a "late-binding" mode A field can have : no value (or derived), a single value of any kind, a list of value : single or double list.
When a field is set, this defines its new kind (Integer etc..) A single value is immediately set. A list of value is, firstly declared as for a kind (Integer String etc), then declared as a list with its initial size, after this its items are set Also it can be set in once if the HArray is ready

Constructors(2)

Instance methods(41)

  • CopyFrom(other: StepData_Field): void

    Gets the copy of the values of another field.

    Parameters (1)
    • other
  • Clear(kind?: number): void

    Clears the field, to set it as "no value defined" Just before SetList, predeclares it as "any" A Kind can be directly set here to declare a type.

    Parameters (1)
    • kind
  • SetDerived(): void

    Codes a Field as derived (no proper value).

  • SetInt(val: number): void

    Directly sets the Integer value, if its Kind matches Integer, Boolean, Logical, or Enum (does not change Kind).

    Parameters (1)
    • val
  • SetInt(num: number, val: number, kind: number): void

    Internal access to an Integer Value for a list, plus its kind.

    Parameters (3)
    • num
    • val
    • kind
  • SetInteger(val: number): void

    Sets an Integer value (before SetList* declares it as Integer).

    Parameters (1)
    • val
  • SetInteger(num: number, val: number): void

    Sets an Integer Value for a list (rank num) (recognizes a SelectMember).

    Parameters (2)
    • num
    • val
  • SetBoolean(val: boolean): void

    Sets a Boolean value (or predeclares a list as boolean).

    Parameters (1)
    • val
  • SetBoolean(num: number, val: boolean): void
    Parameters (2)
    • num
    • val
  • Sets a Logical Value (or predeclares a list as logical).

    Parameters (1)
    • val
  • SetLogical(num: number, val: StepData_Logical): void
    Parameters (2)
    • num
    • val
  • SetReal(val: number): void

    Sets a Real Value (or predeclares a list as Real);.

    Parameters (1)
    • val
  • SetReal(num: number, val: number): void
    Parameters (2)
    • num
    • val
  • SetString(val: string): void

    Sets a String Value (or predeclares a list as String) Does not redefine the Kind if it is already String or Enum.

    Parameters (1)
    • val
  • SetString(num: number, val: string): void
    Parameters (2)
    • num
    • val
  • SetEnum(val: number, text: string): void

    Sets an Enum Value (as its integer counterpart) (or predeclares a list as Enum) If <text> is given , also sets its textual expression <val> negative means unknown (known values begin at 0).

    Parameters (2)
    • val
    • text
  • SetEnum(num: number, val: number, text: string): void

    Sets an Enum Value (Integer counterpart), also its text expression if known (if list has been set as "any").

    Parameters (3)
    • num
    • val
    • text
  • Sets a SelectMember (for Integer,Boolean,Enum,Real,Logical) Hence, the value of the field is accessed through this member.

    Parameters (1)
    • val
  • Sets an Entity Value.

    Parameters (1)
    • val
  • SetEntity(): void

    Predeclares a list as of entity.

  • SetEntity(num: number, val: Standard_Transient): void
    Parameters (2)
    • num
    • val
  • SetList(size: number, first?: number): void

    Declares a field as a list, with an initial size Initial lower is defaulted as 1, can be defined The list starts empty, typed by the last Set* If no Set* before, sets it as "any" (transient/select).

    Parameters (2)
    • size
    • first
  • SetList2(siz1: number, siz2: number, f1?: number, f2?: number): void

    Declares a field as an homogeneous square list, with initial sizes, and initial lowers.

    Parameters (4)
    • siz1
    • siz2
    • f1
    • f2
  • Sets an undetermined value : can be String, SelectMember, HArray(1-2) ... else, an Entity In case of an HArray, determines and records its size(s).

    Parameters (1)
    • val
  • ClearItem(num: number): void

    Declares an item of the list as undefined (ignored if list not defined as String,Entity or Any).

    Parameters (1)
    • num
  • IsSet(n1?: number, n2?: number): boolean
    Parameters (2)
    • n1
    • n2
  • ItemKind(n1?: number, n2?: number): number

    Returns the kind of an item in a list or double list It is the kind of the list, except if it is "Any", in such a case the true kind is determined and returned.

    Parameters (2)
    • n1
    • n2
  • Kind(type_?: boolean): number

    Returns the kind of the field <type> True (D) : returns only the type itself else, returns the complete kind.

    Parameters (1)
    • type_
  • Arity(): number
  • Length(index?: number): number
    Parameters (1)
    • index
  • Lower(index?: number): number
    Parameters (1)
    • index
  • Int(): number
  • Integer(n1?: number, n2?: number): number
    Parameters (2)
    • n1
    • n2
  • Boolean(n1?: number, n2?: number): boolean
    Parameters (2)
    • n1
    • n2
  • Logical(n1?: number, n2?: number): StepData_Logical
    Parameters (2)
    • n1
    • n2
  • Real(n1?: number, n2?: number): number
    Parameters (2)
    • n1
    • n2
  • String(n1: number, n2: number): string
    Parameters (2)
    • n1
    • n2
  • Enum(n1?: number, n2?: number): number
    Parameters (2)
    • n1
    • n2
  • EnumText(n1: number, n2: number): string
    Parameters (2)
    • n1
    • n2
  • Entity(n1?: number, n2?: number): Standard_Transient
    Parameters (2)
    • n1
    • n2

StepData_FieldList

Describes a list of fields, in a general way This basic class is for a null size list Subclasses are for 1, N (fixed) or Dynamic sizes.

Constructors(1)

Instance methods(3)

  • NbFields(): number

    Returns the count of fields. Here, returns 0.

  • Field(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields (read only).

    Parameters (1)
    • num
  • CField(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields, in order to modify its content.

    Parameters (1)
    • num

StepData_FieldListD

Describes a list of fields, in a general way This basic class is for a null size list Subclasses are for 1, N (fixed) or Dynamic sizes.

Constructors(1)

Instance methods(4)

  • SetNb(nb: number): void

    Sets a new count of Fields. Former contents are lost.

    Parameters (1)
    • nb
  • NbFields(): number

    Returns the count of fields. Here, returns starting <nb>.

  • Field(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields (read only).

    Parameters (1)
    • num
  • CField(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields, in order to modify its content.

    Parameters (1)
    • num

StepData_FieldListN

Describes a list of fields, in a general way This basic class is for a null size list Subclasses are for 1, N (fixed) or Dynamic sizes.

Constructors(1)

Instance methods(3)

  • NbFields(): number

    Returns the count of fields. Here, returns starting <nb>.

  • Field(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields (read only).

    Parameters (1)
    • num
  • CField(num: number): StepData_Field

    Returns the field n0 <num> between 1 and NbFields, in order to modify its content.

    Parameters (1)
    • num

StepData_FileProtocol

A FileProtocol is defined as the addition of several already existing Protocols. It corresponds to the definition of a SchemaName with several Names, each one being attached to a specific Protocol. Thus, a File defined with a compound Schema is processed as any other one, once built the equivalent compound Protocol, a FileProtocol.

Constructors(1)

Static methods(2)

Instance methods(5)

  • NbResources(): number

    Gives the count of Protocols used as Resource (can be zero) i.e. the count of Protocol recorded by calling the method Add.

  • Returns a Resource, given a rank. Here, rank of calling Add.

    Parameters (1)
    • num
  • TypeNumber(atype: Standard_Type): number

    Returns a Case Number, specific of each recognized Type Here, NO Type at all is recognized properly : all Types are recognized by the resources.

    Parameters (1)
    • atype
  • Returns the Schema Name attached to each class of Protocol To be redefined by each sub-class Here, SchemaName returns "" (empty String) was C++ : return const.

    Parameters (1)
    • theModel

StepData_FileRecognizer

Static methods(2)

Instance methods(4)

  • Evaluate(akey: TCollection_AsciiString): { returnValue: boolean; res: Standard_Transient; [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

StepData_GlobalNodeOfWriterLib

Constructors(1)

Static methods(2)

Instance methods(5)

StepData_NodeOfWriterLib

Constructors(1)

Static methods(2)

Instance methods(5)

StepData_PDescr

This class is intended to describe the authorized form for a parameter, as a type or a value for a field.
A PDescr firstly describes a type, which can be SELECT, i.e. have several members

Constructors(1)

Static methods(2)

Instance methods(45)

  • SetName(name: string): void
    Parameters (1)
    • name
  • Name(): string
  • SetSelect(): void

    Declares this PDescr to be a Select, hence to have members <me> itself can be the first member.

  • AddMember(member: StepData_PDescr): void

    Adds a member to a SELECT description.

    Parameters (1)
    • member
  • SetMemberName(memname: string): void

    Sets a name for SELECT member. To be used if a member is for an immediate type.

    Parameters (1)
    • memname
  • SetInteger(): void

    Sets <me> for an Integer value.

  • SetReal(): void

    Sets <me> for a Real value.

  • SetString(): void

    Sets <me> for a String value.

  • SetBoolean(): void

    Sets <me> for a Boolean value (false,true).

  • SetLogical(): void

    Sets <me> for a Logical value (false,true,unknown).

  • SetEnum(): void

    Sets <me> for an Enum value Then, call AddEnumDef ordered from the first one (value 0).

  • AddEnumDef(enumdef: string): void

    Adds an enum value as a string.

    Parameters (1)
    • enumdef
  • SetType(atype: Standard_Type): void

    Sets <me> for an Entity which must match a Type (early-bound).

    Parameters (1)
    • atype
  • SetDescr(dscnam: string): void

    Sets <me> for a Described Entity, whose Description must match the type name <dscnam>.

    Parameters (1)
    • dscnam
  • AddArity(arity?: number): void

    Adds an arity count to <me>, by default 1 1 : a simple field passes to a LIST/ARRAY etc or a LIST to a LIST OF LIST 2 : a simple field passes to a LIST OF LIST.

    Parameters (1)
    • arity
  • SetArity(arity?: number): void

    Directly sets the arity count 0 : simple field 1 : LIST or ARRAY etc 2 : LIST OF LIST.

    Parameters (1)
    • arity
  • SetFrom(other: StepData_PDescr): void

    Sets <me> as <other> but duplicated Hence, some definition may be changed.

    Parameters (1)
    • other
  • SetOptional(opt?: boolean): void

    Sets/Unsets <me> to accept undefined values.

    Parameters (1)
    • opt
  • SetDerived(der?: boolean): void

    Sets/Unsets <me> to be for a derived field.

    Parameters (1)
    • der
  • SetField(name: string, rank: number): void

    Sets <me> to describe a field of an entity With a name and a rank.

    Parameters (2)
    • name
    • rank
  • IsSelect(): boolean

    Tells if <me> is for a SELECT.

  • Member(name: string): StepData_PDescr

    For a SELECT, returns the member whose name matches <name> To this member, the following question can then be asked Null Handle if <name> not matched or <me> not a SELECT.
    Remark : not to be asked for an entity type Hence, following IsInteger .. Enum* only apply on <me> and require Member While IsType applies on <me> and all Select Members

    Parameters (1)
    • name
  • IsInteger(): boolean

    Tells if <me> is for an Integer.

  • IsReal(): boolean

    Tells if <me> is for a Real value.

  • IsString(): boolean

    Tells if <me> is for a String value.

  • IsBoolean(): boolean

    Tells if <me> is for a Boolean value (false,true).

  • IsLogical(): boolean

    Tells if <me> is for a Logical value (false,true,unknown).

  • IsEnum(): boolean

    Tells if <me> is for an Enum value Then, call AddEnumDef ordered from the first one (value 0) Managed by an EnumTool.

  • EnumMax(): number

    Returns the maximum integer for a suitable value (count - 1).

  • EnumValue(name: string): number

    Returns the numeric value found for an enum text The text must be in capitals and limited by dots A non-suitable text gives a negative value to be returned.

    Parameters (1)
    • name
  • EnumText(val: number): string

    Returns the text which corresponds to a numeric value, between 0 and EnumMax. It is limited by dots.

    Parameters (1)
    • val
  • IsEntity(): boolean

    Tells if <me> is for an Entity, either Described or CDL Type.

  • IsType(atype: Standard_Type): boolean

    Tells if <me> is for an entity of a given CDL type (early-bnd) (works for <me> + nexts if <me> is a Select).

    Parameters (1)
    • atype
  • Returns the type to match (IsKind), for a CDL Entity (else, null handle).

  • IsDescr(descr: StepData_EDescr): boolean

    Tells if <me> is for a Described entity of a given EDescr (does this EDescr match description name ?). For late-bnd (works for <me> + nexts if <me> is a Select).

    Parameters (1)
    • descr
  • DescrName(): string

    Returns the description (type name) to match, for a Described (else, empty string).

  • Arity(): number

    Returns the arity of <me>.

  • For a LIST or LIST OF LIST, Returns the PDescr for the simpler PDescr. Else, returns <me> This allows to have different attributes for Optional for instance, on a field, and on the parameter of a LIST : [OPTIONAL] LIST OF [OPTIONAL] ...

  • IsOptional(): boolean

    Tells if <me> is Optional.

  • IsDerived(): boolean

    Tells if <me> is Derived.

  • IsField(): boolean

    Tells if <me> is a Field. Else it is a Type.

  • FieldName(): string
  • FieldRank(): number
  • Check(afild: StepData_Field): { ach: Interface_Check; [Symbol.dispose](): void }

    Semantic Check of a Field : does it complies with the given description ?

    Parameters (1)
    • afild
    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

StepData_Plex

A Plex (for Complex) Entity is defined as a list of Simple Members ("external mapping") The types of these members must be in alphabetic order.

Constructors(1)

Static methods(2)

Instance methods(13)

  • Add(member: StepData_Simple): void

    Adds a member to <me>.

    Parameters (1)
    • member
  • Returns the Description as for a Plex.

  • IsComplex(): boolean

    Returns False.

  • Matches(steptype: string): boolean

    Tells if a step type is matched by <me> For a Simple Entity : own type or super type For a Complex Entity : one of the members.

    Parameters (1)
    • steptype
  • As(steptype: string): StepData_Simple

    Returns a Simple Entity which matches with a Type in <me> : For a Simple Entity : me if it matches, else a null handle For a Complex Entity : the member which matches, else null.

    Parameters (1)
    • steptype
  • HasField(name: string): boolean

    Tells if a Field brings a given name.

    Parameters (1)
    • name
  • Field(name: string): StepData_Field

    Returns a Field from its name; read-only.

    Parameters (1)
    • name
  • CField(name: string): StepData_Field

    Returns a Field from its name; read or write.

    Parameters (1)
    • name
  • NbMembers(): number

    Returns the count of simple members.

  • Member(num: number): StepData_Simple

    Returns a simple member from its rank.

    Parameters (1)
    • num
  • Returns the actual list of members types.

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

    Fills a Check by using its Description.

    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

StepData_Protocol

Description of Basic Protocol for Step The class Protocol from StepData itself describes a default Protocol, which recognizes only UnknownEntities. Sub-classes will redefine CaseNumber and, if necessary, NbResources and Resources.

Constructors(1)

Static methods(2)

Instance methods(21)

  • NbResources(): number

    Gives the count of Protocols used as Resource (can be zero) Here, No resource.

  • Returns a Resource, given a rank. Here, none.

    Parameters (1)
    • num
  • Returns a unique positive number for any recognized entity Redefined to work by calling both TypeNumber and, for a Described Entity (late binding) DescrNumber.

    Parameters (1)
    • obj
  • TypeNumber(atype: Standard_Type): number

    Returns a Case Number, specific of each recognized Type Here, only Unknown Entity is recognized.

    Parameters (1)
    • atype
  • Returns the Schema Name attached to each class of Protocol To be redefined by each sub-class Here, SchemaName returns "(DEFAULT)" was C++ : return const.

    Parameters (1)
    • theModel
  • Creates an empty Model for Step Norm.

  • Returns True if <model> is a Model of Step Norm.

    Parameters (1)
    • model
  • Creates a new Unknown Entity for Step (UndefinedEntity).

  • Returns True if <ent> is an Unknown Entity for the Norm, i.e. Type UndefinedEntity, status Unknown.

    Parameters (1)
    • ent
  • DescrNumber(adescr: StepData_EDescr): number

    Returns a unique positive CaseNumber for types described by an EDescr (late binding) Warning : TypeNumber and DescrNumber must give together a unique positive case number for each distinct case, type or descr.

    Parameters (1)
    • adescr
  • AddDescr(adescr: StepData_EDescr, CN: number): void

    Records an EDescr with its case number Also records its name for an ESDescr (simple type): an ESDescr is then used, for case number, or for type name.

    Parameters (2)
    • adescr
    • CN
  • HasDescr(): boolean

    Tells if a Protocol brings at least one ESDescr, i.e. if it defines at least one entity description by ESDescr mechanism.

  • Descr(num: number): StepData_EDescr

    Returns the description attached to a case number, or null.

    Parameters (1)
    • num
  • Descr(name: string, anylevel: boolean): StepData_EDescr

    Returns a description according to its name <anylevel> True (D) : for <me> and its resources <anylevel> False : for <me> only.

    Parameters (2)
    • name
    • anylevel
  • ESDescr(name: string, anylevel?: boolean): StepData_ESDescr

    Idem as Descr but cast to simple description.

    Parameters (2)
    • name
    • anylevel
  • Returns a complex description according to list of names <anylevel> True (D) : for <me> and its resources <anylevel> False : for <me> only.

    Parameters (2)
    • names
    • anylevel
  • AddPDescr(pdescr: StepData_PDescr): void

    Records an PDescr.

    Parameters (1)
    • pdescr
  • PDescr(name: string, anylevel?: boolean): StepData_PDescr

    Returns a parameter description according to its name <anylevel> True (D) : for <me> and its resources <anylevel> False : for <me> only.

    Parameters (2)
    • name
    • anylevel
  • Records an ESDescr, intended to build complex descriptions.

    Parameters (1)
    • esdescr
  • BasicDescr(name: string, anylevel?: boolean): StepData_EDescr

    Returns a basic description according to its name <anylevel> True (D) : for <me> and its resources <anylevel> False : for <me> only.

    Parameters (2)
    • name
    • anylevel

StepData_ReadWriteModule

Defines basic File Access Module (Recognize, Read, Write) That is : ReaderModule (Recognize & Read) + Write for StepWriter (for a more centralized description) Warning : A sub-class of ReadWriteModule, which belongs to a particular Protocol, must use the same definition for Case Numbers (give the same Value for a StepType defined as a String from a File as the Protocol does for the corresponding Entity).

Static methods(2)

Instance methods(7)

  • Same a above but for a Complex Type Entity ("Plex") The provided Default recognizes nothing.

    Parameters (1)
    • types
  • IsComplex(CN: number): boolean

    Returns True if the Case Number corresponds to a Complex Type ("Plex"). Remember that all possible combinations must be acknowledged to be processed Default is False for all cases. For a Protocol which defines possible Plexes, this method must be redefined.

    Parameters (1)
    • CN
  • StepType(CN: number): string

    Function specific to STEP, which delivers the StepType as it is recorded in and read from a File compliant with STEP. This method is symmetric to the method CaseStep. StepType can be different from Dynamic Type's name, but belongs to the same class of Object. Returns an empty String if <CN> is zero. Warning : For a Complex Type Entity, returns an Empty String (Complex Type must be managed by users).

    Parameters (1)
    • CN
  • Function specific to STEP. Some STEP Types have a short form This method can be redefined to fill it By default, returns an empty string, which is then interpreted to take normal form from StepType.

    Parameters (1)
    • CN
  • Function specific to STEP, which delivers the list of types which corresponds to a complex type. If <CN> is not for a complex type, this method returns False. Else it returns True and fills the list in alphabetic order. The default returns False. To be redefined as required.

    Parameters (2)
    • CN
    • types
      Mutated in place; read the updated value from this argument after the call.
  • WriteStep(CN: number, SW: StepData_StepWriter, ent: Standard_Transient): void

    Write Function, switched by CaseNum.

    Parameters (3)
    • CN
    • SW
    • ent

StepData_SelectInt

A SelectInt is a SelectMember specialised for a basic integer type in a select which also accepts entities : this one has NO NAME. For a named select, see SelectNamed.

Constructors(1)

Static methods(2)

Instance methods(5)

  • Kind(): number
  • SetKind(kind: number): void
    Parameters (1)
    • kind
  • Int(): number

    This internal method gives access to a value implemented by an Integer (to read it).

  • SetInt(val: number): void

    This internal method gives access to a value implemented by an Integer (to set it).

    Parameters (1)
    • val

StepData_SelectMember

The general form for a Select Member. A Select Member can, either define a value of a basic type (such as an integer) with an additional information : a name or list of names which precise the meaning of this value or be an alternate value in a select, which also accepts an entity (in this case, the name is not mandatory).
Several sub-types of SelectMember are defined for integer and real value, plus an "universal" one for any, and one more to describe a select with several names
It is also possible to define a specific subtype by redefining virtual method, then give a better control
Remark : this class itself could be deferred, because at least one of its virtual methods must be redefined to be usable

Constructors(1)

Static methods(2)

Instance methods(24)

  • HasName(): boolean

    Tells if a SelectMember has a name. Default is False.

  • Name(): string

    Returns the name of a SelectMember. Default is empty.

  • SetName(name: string): boolean

    Sets the name of a SelectMember, returns True if done, False if no name is allowed Default does nothing and returns False.

    Parameters (1)
    • name
  • Matches(name: string): boolean

    Tells if the name of a SelectMember matches a given one By default, compares the strings, can be redefined (optimised).

    Parameters (1)
    • name
  • Kind(): number
  • SetKind(kind: number): void
    Parameters (1)
    • kind
  • Returns the Kind of the SelectMember, under the form of an enum ParamType.

  • Int(): number

    This internal method gives access to a value implemented by an Integer (to read it).

  • SetInt(val: number): void

    This internal method gives access to a value implemented by an Integer (to set it).

    Parameters (1)
    • val
  • Integer(): number

    Gets the value as an Integer.

  • SetInteger(val: number): void
    Parameters (1)
    • val
  • Boolean(): boolean
  • SetBoolean(val: boolean): void
    Parameters (1)
    • val
  • Parameters (1)
    • val
  • Real(): number
  • SetReal(val: number): void
    Parameters (1)
    • val
  • String(): string
  • SetString(val: string): void
    Parameters (1)
    • val
  • Enum(): number
  • EnumText(): string
  • SetEnum(val: number, text?: string): void
    Parameters (2)
    • val
    • text
  • SetEnumText(val: number, text: string): void
    Parameters (2)
    • val
    • text

StepData_SelectNamed

This select member can be of any kind, and be named But its takes more memory than some specialised ones This class allows one name for the instance.

Constructors(1)

Static methods(2)

Instance methods(14)

  • HasName(): boolean

    Tells if a SelectMember has a name. Default is False.

  • Name(): string

    Returns the name of a SelectMember. Default is empty.

  • SetName(name: string): boolean

    Sets the name of a SelectMember, returns True if done, False if no name is allowed Default does nothing and returns False.

    Parameters (1)
    • name
  • Kind(): number
  • SetKind(kind: number): void
    Parameters (1)
    • kind
  • Int(): number

    This internal method gives access to a value implemented by an Integer (to read it).

  • SetInt(val: number): void

    This internal method gives access to a value implemented by an Integer (to set it).

    Parameters (1)
    • val
  • Real(): number
  • SetReal(val: number): void
    Parameters (1)
    • val
  • String(): string
  • SetString(val: string): void
    Parameters (1)
    • val

StepData_SelectType

SelectType is the basis used for SELECT_TYPE definitions from the EXPRESS form. A SELECT_TYPE in EXPRESS is an enumeration of Types, it corresponds in a way to a Super-Type, but with no specific Methods, and no exclusivity (a given Type can be member of several SELECT_TYPES, plus be itself a SUB_TYPE).
A SelectType can be field of a Transient Entity or only used to control an input Argument
This class implies to designate each member Type by a Case Number which is a positive Integer value (this allows a faster treatment).
With this class, a specific SelectType can :

  • recognize an Entity as complying or not with its definition,
  • storing it, with the guarantee that the stored Entity complies with the definition of the SelectType
  • and (if judged useful) give the stored Entity under the good Type rather than simply "Transient".

Instance methods(24)

  • Recognizes the Type of an Entity. Returns a positive Number which identifies the Type in the definition List of the SelectType. Returns Zero if its Type in not in this List.

    Parameters (1)
    • ent
  • Returns True if the Type of an Entity complies with the definition list of the SelectType. Also checks for a SelectMember Default Implementation looks for CaseNum or CaseMem positive.

    Parameters (1)
    • ent
  • Stores an Entity. This allows to define a specific SelectType class with one read method per member Type, which returns the Value casted with the good Type.

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

    Nullifies the Stored Entity.

  • Returns the Stored Entity. Can be used to define specific read methods (see above).

  • IsNull(): boolean

    Returns True if there is no Stored Entity (i.e. it is Null).

  • Returns the Effective (Dynamic) Type of the Stored Entity If it is Null, returns TYPE(Transient).

  • CaseNumber(): number

    Recognizes the Type of the stored Entity, or zero if it is Null or SelectMember. Calls the first method CaseNum on Value.

  • Returns the Description which corresponds to <me> Null if no specific description to give. This description is used to control reading an check validity. Default returns a Null Handle, i.e. undefined description It can suffice if CaseNum and CaseMem give enough control.

  • Returns a preferred SelectMember. Default returns a Null By default, a SelectMember can be set according to data type and Name : it is a SelectNamed if Name is defined.
    This method allows to define, for a specific SelectType, a specific SelectMember than SelectNamed. For instance for a Real plus a Name, a SelectReal plus a case number is a good solution, lighter than SelectNamed which is very multipurpose

  • Recognize a SelectMember (kind, name). Returns a positive value which identifies the case in the List of immediate cases (distinct from the List of Entity Types). Zero if not recognizes Default returns 0, saying that no immediate value is allowed.

    Parameters (1)
    • ent
  • CaseMember(): number

    Returns the Type of the stored SelectMember, or zero if it is Null or Entity. Calls the method CaseMem on Value.

  • Returns Value as a SelectMember. Null if not a SelectMember.

  • SelectName(): string

    Returns the type name of SelectMember. If no SelectMember or with no type name, returns an empty string To change it, pass through the SelectMember itself.

  • Int(): number

    This internal method gives access to a value implemented by an Integer (to read it).

  • SetInt(val: number): void

    This internal method gives access to a value implemented by an Integer (to set it) : a SelectMember MUST ALREADY BE THERE !

    Parameters (1)
    • val
  • Integer(): number

    Gets the value as an Integer.

  • SetInteger(val: number, name?: string): void

    Sets a new Integer value, with an optional type name Warning : If a SelectMember is already set, works on it : value and name must then be accepted by this SelectMember.

    Parameters (2)
    • val
    • name
  • Boolean(): boolean
  • SetBoolean(val: boolean, name?: string): void
    Parameters (2)
    • val
    • name
  • SetLogical(val: StepData_Logical, name?: string): void
    Parameters (2)
    • val
    • name
  • Real(): number
  • SetReal(val: number, name?: string): void
    Parameters (2)
    • val
    • name

StepData_Simple

A Simple Entity is defined by a type (which can heve super types) and a list of parameters.

Constructors(1)

Static methods(2)

Instance methods(15)

  • Returns description, as for simple.

  • StepType(): string

    Returns the recorded StepType (TypeName of its ESDescr).

  • IsComplex(): boolean

    Returns False.

  • Matches(steptype: string): boolean

    Tells if a step type is matched by <me> For a Simple Entity : own type or super type For a Complex Entity : one of the members.

    Parameters (1)
    • steptype
  • As(steptype: string): StepData_Simple

    Returns a Simple Entity which matches with a Type in <me> : For a Simple Entity : me if it matches, else a null handle For a Complex Entity : the member which matches, else null.

    Parameters (1)
    • steptype
  • HasField(name: string): boolean

    Tells if a Field brings a given name.

    Parameters (1)
    • name
  • Field(name: string): StepData_Field

    Returns a Field from its name; read-only.

    Parameters (1)
    • name
  • CField(name: string): StepData_Field

    Returns a Field from its name; read or write.

    Parameters (1)
    • name
  • NbFields(): number

    Returns the count of fields.

  • FieldNum(num: number): StepData_Field

    Returns a field from its rank, for read-only use.

    Parameters (1)
    • num
  • Returns a field from its rank, in order to modify it.

    Parameters (1)
    • num
  • Returns the entire field list, read-only.

  • Returns the entire field list, read or write.

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

    Fills a Check by using its Description.

    Returns

    A result object with fields:

    • ach: owned by the returned envelope.
      Dispose the returned envelope to release owned Handle fields.

StepData_StepDumper

Provides a way to dump entities processed through STEP, with these features :

  • same form as for writing a STEP File (because it is clear and compact enough, even if the names of the fields do not appear) : thus, no additional resource is required
  • possibility to look for an entity itself (only its Type or with its content), an entity and it shared items (one level) or all the entities its refers to, directly or recursively.

Constructors(1)

  • Creates a StepDumper, able to work on a given StepModel (which defines the total scope for dumping entities) and a given Protocol from Step (which defines the authorized types to be dumped) <mode> commands what is to be displayed (number or label) 0 for number (and corresponding labels are displayed apart) 1 for label (and corresponding numbers are displayed apart) 2 for label without anymore.

    Parameters (3)
    • amodel
    • protocol
    • mode

Instance methods(1)

  • Gives an access to the tool which is used to work : this allow to acts on some parameters : Floating Format, Scopes ...

StepData_StepModel

Gives access to.

  • entities in a STEP file,
  • the STEP file header.

Constructors(1)

Static methods(2)

Instance methods(20)

Properties(1)

StepData_StepReaderTool

Specific FileReaderTool for Step; works with FileReaderData provides references evaluation, plus access to literal data and specific methods defined by FileReaderTool Remarks : works with a ReaderLib to load Entities.

Instance methods(6)

  • Prepare(reco: StepData_FileRecognizer, optimize: boolean): void

    Bounds empty entities to records, works with a specific FileRecognizer, stored and later used in Recognize Works only on data entities (skips header) <optimize : same as above.

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

    recognizes records, by asking either ReaderLib (default) or FileRecognizer (if defined) to do so. <ach> is to call RecognizeByLib

    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.
  • bounds empty entities and sub-lists to header records works like Prepare + SetEntityNumbers, but for header (N.B.: in Header, no Ident and no reference) FileRecognizer is to specify Entities which are allowed to be defined in the Header (not every type can be)

    Parameters (1)
    • reco
  • fills model's header; that is, gives to it Header entities and commands their loading. Also fills StepModel's Global Check from StepReaderData's GlobalCheck

    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 using a ReaderLib to load each entity, which must be a Transient Actually, returned value is True if no fail, False else

    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.
  • Ends file reading after reading all the entities Here, it binds in the model, Idents to Entities (for checks).

    Parameters (1)
    • amodel

StepData_StepWriter

manages atomic file writing, under control of StepModel (for general organisation of file) and each class of Transient (for its own parameters) : prepares text to be written then writes it A stream cannot be used because Step limits line length at 72 In more, a specific object offers more appropriate functions

Constructors(1)

Static methods(1)

Instance methods(46)

  • LabelMode(): number

    ModeLabel controls how to display entity ids : 0 (D) gives entity number in the model 1 gives the already recorded label (else, its number) Warning : conflicts are not controlled.

  • TypeMode(): number

    TypeMode controls the type form to use : 0 (D) for normal long form 1 for short form (if a type name has no short form, normal long form is then used).

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

  • SetScope(numscope: number, numin: number): void

    Declares the Entity Number <numscope> to correspond to a Scope which contains the Entity Number <numin>. Several calls to the same <numscope> add Entities in this Scope, in this order. Error if <numin> is already declared in the Scope Warning : the declaration of the Scopes is assumed to be consistent, i.e. <numin> is not referenced from outside this Scope (not checked here).

    Parameters (2)
    • numscope
    • numin
  • IsInScope(num: number): boolean

    Returns True if an Entity identified by its Number is in a Scope.

    Parameters (1)
    • num
  • SendModel(protocol: StepData_Protocol, headeronly?: boolean): void

    Sends the complete Model, included HEADER and DATA Sections Works with a WriterLib defined through a Protocol If <headeronly> is given True, only the HEADER Section is sent (used to Dump the Header of a StepModel).

    Parameters (2)
    • protocol
    • headeronly
  • SendHeader(): void

    Begins model header.

  • SendData(): void

    Begins data section; error if EndSec was not set.

  • SendEntity(nument: number, lib: StepData_WriterLib): void

    Send an Entity of the Data Section. If it corresponds to a Scope, also Sends the Scope information and contained Items.

    Parameters (2)
    • nument
    • lib
  • EndSec(): void

    sets end of section; to be done before passing to next one

  • EndFile(): void

    sets end of file; error is EndSec was not set

  • NewLine(evenempty: boolean): void

    flushes current line; if empty, flushes it (defines a new empty line) if evenempty is True; else, skips it

    Parameters (1)
    • evenempty
  • JoinLast(newline: boolean): void

    joins current line to last one, only if new length is 72 max if newline is True, a new current line begins; else, current line is set to the last line (once joined) itself an can be completed

    Parameters (1)
    • newline
  • Indent(onent: boolean): void

    asks that further indentations will begin at position of entity first opening bracket; else they begin at zero (def) for each sublist level, two more blancks are added at beginning (except for text continuation, which must begin at true zero)

    Parameters (1)
    • onent
  • SendIdent(ident: number): void

    begins an entity with an ident plus '=' (at beginning of line) entity ident is its Number given by the containing Model Warning : <ident> must be, either Number or Label, according LabelMode

    Parameters (1)
    • ident
  • SendScope(): void

    sets a begin of Scope (ends this line)

  • SendEndscope(): void

    sets an end of Scope (on a separate line)

  • Comment(mode: boolean): void

    sets a comment mark : if mode is True, begins Comment zone, if mode is False, ends Comment zone (if one is begun)

    Parameters (1)
    • mode
  • sends a comment. Error if we are not inside a comment zone

    Parameters (1)
    • text
  • SendComment(text: string): void

    same as above but accepts a CString (ex.: "..." directly)

    Parameters (1)
    • text
  • sets entity's StepType, opens brackets, starts param no to 0 params are separated by comma Remark : for a Multiple Type Entity (see Express ANDOR clause) StartComplex must be called before sending components, then each "Component" must be sent separately (one call to StartEntity for each one) : the Type which precedes is then automatically closed. Once all the components have been sent, EndComplex must be called, then and only then EndEntity

    Parameters (1)
    • atype
  • StartComplex(): void

    sends the start of a complex entity, which is a simple open bracket (without increasing bracket level) It must be called JUST AFTER SendEntity and BEFORE sending components, each one begins by StartEntity

  • EndComplex(): void

    sends the end of a complex entity : a simple closed bracket It must be called AFTER sending all the components and BEFORE the final call to EndEntity

  • Sends the content of a field, controlled by its descriptor If the descriptor is not defined, follows the description detained by the field itself.

    Parameters (2)
    • fild
    • descr
  • Sends a SelectMember, which cab be named or not.

    Parameters (2)
    • sm
    • descr
  • Send the content of an entity as being a FieldList controlled by its descriptor. This includes start and end brackets but not the entity type.

    Parameters (2)
    • list
    • descr
  • OpenSub(): void

    open a sublist by a '('

  • OpenTypedSub(subtype: string): void

    open a sublist with its type then a '('

    Parameters (1)
    • subtype
  • CloseSub(): void

    closes a sublist by a ')'

  • AddParam(): void

    prepares adding a parameter (that is, adds ',' except for first one); normally for internal use; can be used to send a totally empty parameter (with no literal value)

  • 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 given as string (it will be set between '...')

    Parameters (1)
    • val
  • sends a reference to an entity (its identifier with '#') REMARK 1 : a Null <val> is interpreted as "Undefined" REMARK 2 : for an HAsciiString which is not recorded in the Model, it is send as its String Content, between quotes

    Parameters (1)
    • val
  • SendBoolean(val: boolean): void

    sends a Boolean as .T. for True or .F. for False (it is an useful case of Enum, which is built-in)

    Parameters (1)
    • val
  • sends a Logical as .T. or .F. or .U. according its Value (it is a standard case of Enum for Step, and is built-in)

    Parameters (1)
    • val
  • sends a string exactly as it is given

    Parameters (1)
    • val
  • SendString(val: string): void

    sends a string exactly as it is given

    Parameters (1)
    • val
  • sends an enum given by String (literal expression) adds '.' around it if not done Remark : val can be computed by class EnumTool from StepData: StepWriter.SendEnum (myenum.Text(enumval));

    Parameters (1)
    • val
  • SendEnum(val: string): void

    sends an enum given by String (literal expression) adds '.' around it if not done

    Parameters (1)
    • val
  • sends an array of real

    Parameters (1)
    • anArr
  • SendUndef(): void

    sends an undefined (optional absent) parameter (by '$')

  • SendDerived(): void

    sends a "Derived" parameter (by '*'). A Derived Parameter has been inherited from a Super-Type then redefined as being computed by a function. Hence its value in file is senseless.

  • EndEntity(): void

    sends end of entity (closing bracket plus ';') Error if count of opened-closed brackets is not null

  • NbLines(): number

    Returns count of Lines.

  • Returns a Line given its rank in the File.

    Parameters (1)
    • num

StepData_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: Standard_Transient, CN: number): { returnValue: boolean; module_: StepData_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.