Open CASCADE Technology 7.8.2.dev
|
Defines resources for an "Undefined Entity" : such an Entity is used to describe an Entity which complies with the Norm, but of an Unknown Type : hence it is kept under a literal form (avoiding to loose data). UndefinedContent offers a way to store a list of Parameters, as literals or references to other Entities. More...
#include <Interface_UndefinedContent.hxx>
Public Member Functions | |
Interface_UndefinedContent () | |
Defines an empty UndefinedContent. | |
Standard_Integer | NbParams () const |
Gives count of recorded parameters. | |
Standard_Integer | NbLiterals () const |
Gives count of Literal Parameters. | |
Standard_Boolean | ParamData (const Standard_Integer num, Interface_ParamType &ptype, Handle< Standard_Transient > &ent, Handle< TCollection_HAsciiString > &val) const |
Returns data of a Parameter : its type, and the entity if it designates en entity ("ent") or its literal value else ("str") Returned value (Boolean) : True if it is an Entity, False else. | |
Interface_ParamType | ParamType (const Standard_Integer num) const |
Returns the ParamType of a Param, given its rank Error if num is not between 1 and NbParams. | |
Standard_Boolean | IsParamEntity (const Standard_Integer num) const |
Returns True if a Parameter is recorded as an entity Error if num is not between 1 and NbParams. | |
Handle< Standard_Transient > | ParamEntity (const Standard_Integer num) const |
Returns Entity corresponding to a Param, given its rank. | |
Handle< TCollection_HAsciiString > | ParamValue (const Standard_Integer num) const |
Returns literal value of a Parameter, given its rank. | |
void | Reservate (const Standard_Integer nb, const Standard_Integer nblit) |
Manages reservation for parameters (internal use) (nb : total count of parameters, nblit : count of literals) | |
void | AddLiteral (const Interface_ParamType ptype, const Handle< TCollection_HAsciiString > &val) |
Adds a literal Parameter to the list. | |
void | AddEntity (const Interface_ParamType ptype, const Handle< Standard_Transient > &ent) |
Adds a Parameter which references an Entity. | |
void | RemoveParam (const Standard_Integer num) |
Removes a Parameter given its rank. | |
void | SetLiteral (const Standard_Integer num, const Interface_ParamType ptype, const Handle< TCollection_HAsciiString > &val) |
Sets a new value for the Parameter <num>, to a literal value (if it referenced formerly an Entity, this Entity is removed) | |
void | SetEntity (const Standard_Integer num, const Interface_ParamType ptype, const Handle< Standard_Transient > &ent) |
Sets a new value for the Parameter <num>, to reference an Entity. To simply change the Entity, see the variant below. | |
void | SetEntity (const Standard_Integer num, const Handle< Standard_Transient > &ent) |
Changes the Entity referenced by the Parameter <num> (with same ParamType) | |
Interface_EntityList | EntityList () const |
Returns globally the list of param entities. Note that it can be used as shared entity list for the UndefinedEntity. | |
void | GetFromAnother (const Handle< Interface_UndefinedContent > &other, Interface_CopyTool &TC) |
Copies contents of undefined entities; deigned to be called by GetFromAnother method from Undefined entity of each Interface (the basic operation is the same regardless the norm) | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Defines resources for an "Undefined Entity" : such an Entity is used to describe an Entity which complies with the Norm, but of an Unknown Type : hence it is kept under a literal form (avoiding to loose data). UndefinedContent offers a way to store a list of Parameters, as literals or references to other Entities.
Each Interface must provide one "UndefinedEntity", which must have same basic description as all its types of entities : the best way would be double inheritance : on the Entity Root of the Norm and on an general "UndefinedEntity"
While it is not possible to do so, the UndefinedEntity of each Interface can define its own UndefinedEntity by INCLUDING (in a field) this UndefinedContent
Hence, for that UndefinedEntity, define a Constructor which creates this UndefinedContent, plus access methods to it (or to its data, calling methods defined here).
Finally, the Protocols of each norm have to Create and Recognize Unknown Entities of this norm
Interface_UndefinedContent::Interface_UndefinedContent | ( | ) |
Defines an empty UndefinedContent.
void Interface_UndefinedContent::AddEntity | ( | const Interface_ParamType | ptype, |
const Handle< Standard_Transient > & | ent ) |
Adds a Parameter which references an Entity.
void Interface_UndefinedContent::AddLiteral | ( | const Interface_ParamType | ptype, |
const Handle< TCollection_HAsciiString > & | val ) |
Adds a literal Parameter to the list.
Interface_EntityList Interface_UndefinedContent::EntityList | ( | ) | const |
Returns globally the list of param entities. Note that it can be used as shared entity list for the UndefinedEntity.
void Interface_UndefinedContent::GetFromAnother | ( | const Handle< Interface_UndefinedContent > & | other, |
Interface_CopyTool & | TC ) |
Copies contents of undefined entities; deigned to be called by GetFromAnother method from Undefined entity of each Interface (the basic operation is the same regardless the norm)
Standard_Boolean Interface_UndefinedContent::IsParamEntity | ( | const Standard_Integer | num | ) | const |
Returns True if a Parameter is recorded as an entity Error if num is not between 1 and NbParams.
Standard_Integer Interface_UndefinedContent::NbLiterals | ( | ) | const |
Gives count of Literal Parameters.
Standard_Integer Interface_UndefinedContent::NbParams | ( | ) | const |
Gives count of recorded parameters.
Standard_Boolean Interface_UndefinedContent::ParamData | ( | const Standard_Integer | num, |
Interface_ParamType & | ptype, | ||
Handle< Standard_Transient > & | ent, | ||
Handle< TCollection_HAsciiString > & | val ) const |
Returns data of a Parameter : its type, and the entity if it designates en entity ("ent") or its literal value else ("str") Returned value (Boolean) : True if it is an Entity, False else.
Handle< Standard_Transient > Interface_UndefinedContent::ParamEntity | ( | const Standard_Integer | num | ) | const |
Returns Entity corresponding to a Param, given its rank.
Interface_ParamType Interface_UndefinedContent::ParamType | ( | const Standard_Integer | num | ) | const |
Returns the ParamType of a Param, given its rank Error if num is not between 1 and NbParams.
Handle< TCollection_HAsciiString > Interface_UndefinedContent::ParamValue | ( | const Standard_Integer | num | ) | const |
Returns literal value of a Parameter, given its rank.
void Interface_UndefinedContent::RemoveParam | ( | const Standard_Integer | num | ) |
Removes a Parameter given its rank.
void Interface_UndefinedContent::Reservate | ( | const Standard_Integer | nb, |
const Standard_Integer | nblit ) |
Manages reservation for parameters (internal use) (nb : total count of parameters, nblit : count of literals)
void Interface_UndefinedContent::SetEntity | ( | const Standard_Integer | num, |
const Handle< Standard_Transient > & | ent ) |
Changes the Entity referenced by the Parameter <num> (with same ParamType)
void Interface_UndefinedContent::SetEntity | ( | const Standard_Integer | num, |
const Interface_ParamType | ptype, | ||
const Handle< Standard_Transient > & | ent ) |
Sets a new value for the Parameter <num>, to reference an Entity. To simply change the Entity, see the variant below.
void Interface_UndefinedContent::SetLiteral | ( | const Standard_Integer | num, |
const Interface_ParamType | ptype, | ||
const Handle< TCollection_HAsciiString > & | val ) |
Sets a new value for the Parameter <num>, to a literal value (if it referenced formerly an Entity, this Entity is removed)