# DataExchange
TKXSBase
StepData

# StepData_SelectType Class Reference

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 (it is itself
Storable) 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
treatement).
With this class, a specific SelectType can :
- recognize an Entity as complying or not with its definition,
- storing it, with the garanty 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".
.

`#include <StepData_SelectType.hxx>`

Inheritance diagram for StepData_SelectType:

[legend]

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
virtual Standard_EXPORT Standard_Integer | CaseNum (const Handle(Standard_Transient)&ent) const =0
| 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. .
Standard_EXPORT Standard_Boolean | Matches (const Handle(Standard_Transient)&ent) const
| 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 .
Standard_EXPORT void | SetValue (const Handle(Standard_Transient)&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. .
Standard_EXPORT void | Nullify ()
| Nullifies the Stored Entity .
Standard_EXPORT const Handle_Standard_Transient & | Value () const
| Returns the Stored Entity. Can be used to define specific read methods (see above) .
Standard_EXPORT Standard_Boolean | IsNull () const
| Returns True if there is no Stored Entity (i.e. it is Null) .
Standard_EXPORT Handle_Standard_Type | Type () const
| Returns the Effective (Dynamic) Type of the Stored Entity If it is Null, returns TYPE(Transient) .
Standard_EXPORT Standard_Integer | CaseNumber () const
| Recognizes the Type of the stored Entity, or zero if it is Null or SelectMember. Calls the first method CaseNum on Value .
virtual Standard_EXPORT Handle_StepData_PDescr | Description () const
| 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 .
virtual Standard_EXPORT Handle_StepData_SelectMember | NewMember () const

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
.

virtual Standard_EXPORT Standard_Integer | CaseMem (const Handle(StepData_SelectMember)&ent) const
| 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 .
Standard_EXPORT Standard_Integer | CaseMember () const
| Returns the Type of the stored SelectMember, or zero if it is Null or Entity. Calls the method CaseMem on Value .
Standard_EXPORT Handle_StepData_SelectMember | Member () const
| Returns Value as a SelectMember. Null if not a SelectMember .
Standard_EXPORT Standard_CString | SelectName () const
| 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 .
Standard_EXPORT Standard_Integer | Int () const
| This internal method gives access to a value implemented by an Integer (to read it) .
Standard_EXPORT void | SetInt (const Standard_Integer val)
| This internal method gives access to a value implemented by an Integer (to set it) : a SelectMember MUST ALREADY BE THERE ! .
Standard_EXPORT Standard_Integer | Integer () const
| Gets the value as an Integer .
Standard_EXPORT void | SetInteger (const Standard_Integer val, const Standard_CString name="")
| 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 .
Standard_EXPORT Standard_Boolean | Boolean () const
Standard_EXPORT void | SetBoolean (const Standard_Boolean val, const Standard_CString name="")
Standard_EXPORT StepData_Logical | Logical () const
Standard_EXPORT void | SetLogical (const StepData_Logical val, const Standard_CString name="")
Standard_EXPORT Standard_Real | Real () const
Standard_EXPORT void | SetReal (const Standard_Real val, const Standard_CString name="")
virtual Standard_EXPORT void | Destroy ()
virtual Standard_EXPORT | ~StepData_SelectType ()

## Private Attributes

Handle_Standard_Transient | thevalue

## Constructor & Destructor Documentation

virtual Standard_EXPORT StepData_SelectType::~StepData_SelectType | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

Standard_EXPORT Standard_Boolean StepData_SelectType::Boolean | ( |  | ) | const

virtual Standard_EXPORT Standard_Integer StepData_SelectType::CaseMem | ( | const Handle(StepData_SelectMember)& | ent | ) | const`[virtual]`

| Reimplemented in StepBasic_SizeSelect, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_DegreeOfFreedom, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor43d, StepGeom_TrimmingSelect, and StepVisual_MarkerSelect.

Standard_EXPORT Standard_Integer StepData_SelectType::CaseMember | ( |  | ) | const

virtual Standard_EXPORT Standard_Integer StepData_SelectType::CaseNum | ( | const Handle(Standard_Transient)& | ent | ) | const`[pure virtual]`

Implemented in StepAP203_ApprovedItem, StepAP203_CertifiedItem, StepAP203_ChangeRequestItem, StepAP203_ClassifiedItem, StepAP203_ContractedItem, StepAP203_DateTimeItem, StepAP203_PersonOrganizationItem, StepAP203_SpecifiedItem, StepAP203_StartRequestItem, StepAP203_WorkItem, StepAP214_ApprovalItem, StepAP214_AutoDesignDateAndPersonItem, StepAP214_AutoDesignDateAndTimeItem, StepAP214_AutoDesignDatedItem, StepAP214_AutoDesignGeneralOrgItem, StepAP214_AutoDesignGroupedItem, StepAP214_AutoDesignOrganizationItem, StepAP214_AutoDesignPresentedItemSelect, StepAP214_AutoDesignReferencingItem, StepAP214_DateAndTimeItem, StepAP214_DateItem, StepAP214_DocumentReferenceItem, StepAP214_ExternalIdentificationItem, StepAP214_GroupItem, StepAP214_OrganizationItem, StepAP214_PersonAndOrganizationItem, StepAP214_PresentedItemSelect, StepBasic_DateTimeSelect, StepBasic_PersonOrganizationSelect, StepBasic_ProductOrFormationOrDefinition, StepBasic_RoleSelect, StepBasic_SizeSelect, StepBasic_SourceItem, StepBasic_Unit, StepDimTol_ShapeToleranceSelect, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_CurveElementEndCoordinateSystem, StepFEA_DegreeOfFreedom, StepFEA_ElementOrElementGroup, StepFEA_SymmetricTensor22d, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor42d, StepFEA_SymmetricTensor43d, StepGeom_Axis2Placement, StepGeom_CurveOnSurface, StepGeom_PcurveOrSurface, StepGeom_SurfaceBoundary, StepGeom_TrimmingSelect, StepGeom_VectorOrDirection, StepRepr_CharacterizedDefinition, StepRepr_ConfigurationDesignItem, StepRepr_RepresentedDefinition, StepRepr_ShapeDefinition, StepRepr_Transformation, StepShape_CsgPrimitive, StepShape_DimensionalCharacteristic, StepShape_GeometricSetSelect, StepShape_ReversibleTopologyItem, StepShape_Shell, StepShape_SurfaceModel, StepShape_ToleranceMethodDefinition, StepShape_ValueQualifier, StepVisual_AreaOrView, StepVisual_CurveStyleFontSelect, StepVisual_FillStyleSelect, StepVisual_FontSelect, StepVisual_InvisibilityContext, StepVisual_InvisibleItem, StepVisual_LayeredItem, StepVisual_MarkerSelect, StepVisual_PresentationRepresentationSelect, StepVisual_PresentationSizeAssignmentSelect, StepVisual_PresentationStyleSelect, StepVisual_StyleContextSelect, StepVisual_SurfaceStyleElementSelect, and StepVisual_TextOrCharacter.

Standard_EXPORT Standard_Integer StepData_SelectType::CaseNumber | ( |  | ) | const

virtual Standard_EXPORT Handle_StepData_PDescr StepData_SelectType::Description | ( |  | ) | const`[virtual]`

virtual Standard_EXPORT void StepData_SelectType::Destroy | ( |  | ) | `[virtual]`

Standard_EXPORT Standard_Integer StepData_SelectType::Int | ( |  | ) | const

Standard_EXPORT Standard_Integer StepData_SelectType::Integer | ( |  | ) | const

Standard_EXPORT Standard_Boolean StepData_SelectType::IsNull | ( |  | ) | const

Standard_EXPORT StepData_Logical StepData_SelectType::Logical | ( |  | ) | const

Standard_EXPORT Standard_Boolean StepData_SelectType::Matches | ( | const Handle(Standard_Transient)& | ent | ) | const

Standard_EXPORT Handle_StepData_SelectMember StepData_SelectType::Member | ( |  | ) | const

virtual Standard_EXPORT Handle_StepData_SelectMember StepData_SelectType::NewMember | ( |  | ) | const`[virtual]`

| Reimplemented in StepBasic_SizeSelect, StepBasic_SourceItem, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_DegreeOfFreedom, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor43d, StepGeom_TrimmingSelect, and StepVisual_MarkerSelect.

Standard_EXPORT void StepData_SelectType::Nullify | ( |  | ) |

void StepData_SelectType::operator delete | ( | void * | anAddress | ) | `[inline]`

Reimplemented in StepAP203_ApprovedItem, StepAP203_CertifiedItem, StepAP203_ChangeRequestItem, StepAP203_ClassifiedItem, StepAP203_ContractedItem, StepAP203_DateTimeItem, StepAP203_PersonOrganizationItem, StepAP203_SpecifiedItem, StepAP203_StartRequestItem, StepAP203_WorkItem, StepAP214_ApprovalItem, StepAP214_AutoDesignDateAndPersonItem, StepAP214_AutoDesignDateAndTimeItem, StepAP214_AutoDesignDatedItem, StepAP214_AutoDesignGeneralOrgItem, StepAP214_AutoDesignGroupedItem, StepAP214_AutoDesignOrganizationItem, StepAP214_AutoDesignPresentedItemSelect, StepAP214_AutoDesignReferencingItem, StepAP214_DateAndTimeItem, StepAP214_DateItem, StepAP214_DocumentReferenceItem, StepAP214_ExternalIdentificationItem, StepAP214_GroupItem, StepAP214_OrganizationItem, StepAP214_PersonAndOrganizationItem, StepAP214_PresentedItemSelect, StepAP214_SecurityClassificationItem, StepBasic_DateTimeSelect, StepBasic_PersonOrganizationSelect, StepBasic_ProductOrFormationOrDefinition, StepBasic_RoleSelect, StepBasic_SizeSelect, StepBasic_SourceItem, StepBasic_Unit, StepDimTol_ShapeToleranceSelect, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_CurveElementEndCoordinateSystem, StepFEA_DegreeOfFreedom, StepFEA_ElementOrElementGroup, StepFEA_SymmetricTensor22d, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor42d, StepFEA_SymmetricTensor43d, StepGeom_Axis2Placement, StepGeom_CurveOnSurface, StepGeom_PcurveOrSurface, StepGeom_SurfaceBoundary, StepGeom_TrimmingSelect, StepGeom_VectorOrDirection, StepRepr_CharacterizedDefinition, StepRepr_ConfigurationDesignItem, StepRepr_RepresentedDefinition, StepRepr_ShapeDefinition, StepRepr_Transformation, StepShape_CsgPrimitive, StepShape_DimensionalCharacteristic, StepShape_GeometricSetSelect, StepShape_ReversibleTopologyItem, StepShape_Shell, StepShape_SurfaceModel, StepShape_ToleranceMethodDefinition, StepShape_ValueQualifier, StepVisual_AreaOrView, StepVisual_CurveStyleFontSelect, StepVisual_FillStyleSelect, StepVisual_FontSelect, StepVisual_InvisibilityContext, StepVisual_InvisibleItem, StepVisual_LayeredItem, StepVisual_MarkerSelect, StepVisual_PresentationRepresentationSelect, StepVisual_PresentationSizeAssignmentSelect, StepVisual_PresentationStyleSelect, StepVisual_StyleContextSelect, StepVisual_SurfaceStyleElementSelect, and StepVisual_TextOrCharacter.

void* StepData_SelectType::operator new | ( | size_t | size | ) | `[inline]`

Reimplemented in StepAP203_ApprovedItem, StepAP203_CertifiedItem, StepAP203_ChangeRequestItem, StepAP203_ClassifiedItem, StepAP203_ContractedItem, StepAP203_DateTimeItem, StepAP203_PersonOrganizationItem, StepAP203_SpecifiedItem, StepAP203_StartRequestItem, StepAP203_WorkItem, StepAP214_ApprovalItem, StepAP214_AutoDesignDateAndPersonItem, StepAP214_AutoDesignDateAndTimeItem, StepAP214_AutoDesignDatedItem, StepAP214_AutoDesignGeneralOrgItem, StepAP214_AutoDesignGroupedItem, StepAP214_AutoDesignOrganizationItem, StepAP214_AutoDesignPresentedItemSelect, StepAP214_AutoDesignReferencingItem, StepAP214_DateAndTimeItem, StepAP214_DateItem, StepAP214_DocumentReferenceItem, StepAP214_ExternalIdentificationItem, StepAP214_GroupItem, StepAP214_OrganizationItem, StepAP214_PersonAndOrganizationItem, StepAP214_PresentedItemSelect, StepAP214_SecurityClassificationItem, StepBasic_DateTimeSelect, StepBasic_PersonOrganizationSelect, StepBasic_ProductOrFormationOrDefinition, StepBasic_RoleSelect, StepBasic_SizeSelect, StepBasic_SourceItem, StepBasic_Unit, StepDimTol_ShapeToleranceSelect, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_CurveElementEndCoordinateSystem, StepFEA_DegreeOfFreedom, StepFEA_ElementOrElementGroup, StepFEA_SymmetricTensor22d, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor42d, StepFEA_SymmetricTensor43d, StepGeom_Axis2Placement, StepGeom_CurveOnSurface, StepGeom_PcurveOrSurface, StepGeom_SurfaceBoundary, StepGeom_TrimmingSelect, StepGeom_VectorOrDirection, StepRepr_CharacterizedDefinition, StepRepr_ConfigurationDesignItem, StepRepr_RepresentedDefinition, StepRepr_ShapeDefinition, StepRepr_Transformation, StepShape_CsgPrimitive, StepShape_DimensionalCharacteristic, StepShape_GeometricSetSelect, StepShape_ReversibleTopologyItem, StepShape_Shell, StepShape_SurfaceModel, StepShape_ToleranceMethodDefinition, StepShape_ValueQualifier, StepVisual_AreaOrView, StepVisual_CurveStyleFontSelect, StepVisual_FillStyleSelect, StepVisual_FontSelect, StepVisual_InvisibilityContext, StepVisual_InvisibleItem, StepVisual_LayeredItem, StepVisual_MarkerSelect, StepVisual_PresentationRepresentationSelect, StepVisual_PresentationSizeAssignmentSelect, StepVisual_PresentationStyleSelect, StepVisual_StyleContextSelect, StepVisual_SurfaceStyleElementSelect, and StepVisual_TextOrCharacter.

void* StepData_SelectType::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

Reimplemented in StepAP203_ApprovedItem, StepAP203_CertifiedItem, StepAP203_ChangeRequestItem, StepAP203_ClassifiedItem, StepAP203_ContractedItem, StepAP203_DateTimeItem, StepAP203_PersonOrganizationItem, StepAP203_SpecifiedItem, StepAP203_StartRequestItem, StepAP203_WorkItem, StepAP214_ApprovalItem, StepAP214_AutoDesignDateAndPersonItem, StepAP214_AutoDesignDateAndTimeItem, StepAP214_AutoDesignDatedItem, StepAP214_AutoDesignGeneralOrgItem, StepAP214_AutoDesignGroupedItem, StepAP214_AutoDesignOrganizationItem, StepAP214_AutoDesignPresentedItemSelect, StepAP214_AutoDesignReferencingItem, StepAP214_DateAndTimeItem, StepAP214_DateItem, StepAP214_DocumentReferenceItem, StepAP214_ExternalIdentificationItem, StepAP214_GroupItem, StepAP214_OrganizationItem, StepAP214_PersonAndOrganizationItem, StepAP214_PresentedItemSelect, StepAP214_SecurityClassificationItem, StepBasic_DateTimeSelect, StepBasic_PersonOrganizationSelect, StepBasic_ProductOrFormationOrDefinition, StepBasic_RoleSelect, StepBasic_SizeSelect, StepBasic_SourceItem, StepBasic_Unit, StepDimTol_ShapeToleranceSelect, StepElement_CurveElementFreedom, StepElement_CurveElementPurpose, StepElement_ElementAspect, StepElement_MeasureOrUnspecifiedValue, StepElement_SurfaceElementPurpose, StepElement_VolumeElementPurpose, StepFEA_CurveElementEndCoordinateSystem, StepFEA_DegreeOfFreedom, StepFEA_ElementOrElementGroup, StepFEA_SymmetricTensor22d, StepFEA_SymmetricTensor23d, StepFEA_SymmetricTensor42d, StepFEA_SymmetricTensor43d, StepGeom_Axis2Placement, StepGeom_CurveOnSurface, StepGeom_PcurveOrSurface, StepGeom_SurfaceBoundary, StepGeom_TrimmingSelect, StepGeom_VectorOrDirection, StepRepr_CharacterizedDefinition, StepRepr_ConfigurationDesignItem, StepRepr_RepresentedDefinition, StepRepr_ShapeDefinition, StepRepr_Transformation, StepShape_CsgPrimitive, StepShape_DimensionalCharacteristic, StepShape_GeometricSetSelect, StepShape_ReversibleTopologyItem, StepShape_Shell, StepShape_SurfaceModel, StepShape_ToleranceMethodDefinition, StepShape_ValueQualifier, StepVisual_AreaOrView, StepVisual_CurveStyleFontSelect, StepVisual_FillStyleSelect, StepVisual_FontSelect, StepVisual_InvisibilityContext, StepVisual_InvisibleItem, StepVisual_LayeredItem, StepVisual_MarkerSelect, StepVisual_PresentationRepresentationSelect, StepVisual_PresentationSizeAssignmentSelect, StepVisual_PresentationStyleSelect, StepVisual_StyleContextSelect, StepVisual_SurfaceStyleElementSelect, and StepVisual_TextOrCharacter.

Standard_EXPORT Standard_Real StepData_SelectType::Real | ( |  | ) | const

Standard_EXPORT Standard_CString StepData_SelectType::SelectName | ( |  | ) | const

Standard_EXPORT void StepData_SelectType::SetBoolean | ( | const Standard_Boolean | val,
|  | const Standard_CString | name = `""`
| ) |

Standard_EXPORT void StepData_SelectType::SetInt | ( | const Standard_Integer | val | ) |

Standard_EXPORT void StepData_SelectType::SetInteger | ( | const Standard_Integer | val,
|  | const Standard_CString | name = `""`
| ) |

Standard_EXPORT void StepData_SelectType::SetLogical | ( | const StepData_Logical | val,
|  | const Standard_CString | name = `""`
| ) |

Standard_EXPORT void StepData_SelectType::SetReal | ( | const Standard_Real | val,
|  | const Standard_CString | name = `""`
| ) |

Standard_EXPORT void StepData_SelectType::SetValue | ( | const Handle(Standard_Transient)& | ent | ) |

Standard_EXPORT Handle_Standard_Type StepData_SelectType::Type | ( |  | ) | const

Standard_EXPORT const Handle_Standard_Transient& StepData_SelectType::Value | ( |  | ) | const

## Field Documentation

Handle_Standard_Transient StepData_SelectType::thevalue `[private]`

The documentation for this class was generated from the following file:

- StepData_SelectType.hxx