SHAPER  9.12.0
ModelAPI_AttributeTables Class Referenceabstract

API for the attribute that contains tables of some values type. More...

Inheritance diagram for ModelAPI_AttributeTables:
Inheritance graph

Data Structures

struct  Value
 

Public Types

enum  ValueType { BOOLEAN , INTEGER , DOUBLE , STRING }
 Type of the value in the table. More...
 

Public Member Functions

virtual MODELAPI_EXPORT int rows ()=0
 Returns the number of rows in the table. More...
 
virtual MODELAPI_EXPORT int columns ()=0
 Returns the number of columns in the table. More...
 
virtual MODELAPI_EXPORT int tables ()=0
 Returns the number of tables. More...
 
virtual MODELAPI_EXPORT void setSize (const int theRows, const int theColumns, const int theTables=1)=0
 Sets the new size of the tables set. More...
 
virtual MODELAPI_EXPORT void setType (ValueType theType)=0
 Defines the tyoe of values in the table. If it differs from the current, erases the content. More...
 
virtual MODELAPI_EXPORT const ValueTypetype () const =0
 Defines the tyoe of values in the table. If it differs from the current, erases the content. More...
 
virtual MODELAPI_EXPORT void setValue (const Value theValue, const int theRow, const int theColumn, const int theTable=0)=0
 Defines the value by the index in the tables set (indexes are zero-based). More...
 
virtual MODELAPI_EXPORT Value value (const int theRow, const int theColumn, const int theTable=0)=0
 Returns the value by the index (indexes are zero-based). More...
 
virtual MODELAPI_EXPORT std::string valueStr (const int theRow, const int theColumn, const int theTable=0)=0
 Returns the value in the format of string (usefull for the python connection) More...
 
virtual MODELAPI_EXPORT std::string attributeType ()
 Returns the type of this class of attributes, not static method. More...
 
virtual MODELAPI_EXPORT ~ModelAPI_AttributeTables ()
 To virtually destroy the fields of successors. More...
 
virtual void setObject (const std::shared_ptr< ModelAPI_Object > &theObject)
 Sets the owner of this attribute. More...
 
const std::shared_ptr< ModelAPI_Object > & owner () const
 Returns the owner of this attribute. More...
 
virtual bool isInitialized ()
 Returns true if attribute was initialized by some value. More...
 
void setInitialized ()
 Makes attribute initialized. More...
 
bool blockSetInitialized (const bool theBlock)
 Blocks sending "attribute updated" if theBlock is true. More...
 
void setIsArgument (const bool theFlag)
 Set this attribute is argument for result (change of this attribute requires update of result). More...
 
bool isArgument ()
 Returns true if attribute causes the result change. More...
 
bool setImmutable (const bool theFlag)
 Immutable argument can not be changed programmatically (e.g. More...
 
bool isImmutable ()
 Returns true if can not be changed programmatically. More...
 
const std::string & id () const
 ID of the attribute in Data. More...
 
virtual void reset ()
 Resets attribute to deafult state. More...
 

Static Public Member Functions

static MODELAPI_EXPORT std::string typeId ()
 Returns the type of this class of attributes. More...
 

Protected Member Functions

MODELAPI_EXPORT ModelAPI_AttributeTables ()
 Objects are created for features automatically. More...
 
virtual void setID (const std::string theID)
 Sets the ID of the attribute in Data (called from Data) More...
 
virtual void reinit ()
 Reinitializes the internal state of the attribute (may be needed on undo/redo, abort, etc) More...
 

Protected Attributes

bool myIsInitialized
 is some value assigned to this attribute More...
 
bool mySetInitializedBlocked
 is initialized blocked More...
 
bool myIsArgument
 is this attribute used as an argument for execution More...
 
bool myIsImmutable
 is this attribute can be changed programmatically (e.g. by constraint) More...
 

Detailed Description

API for the attribute that contains tables of some values type.

The type of values can be changed. But all the values in the tables must have the same one type. The currently allowed types now are: Boolean, Integer, Double, String. By default there is only one table, but it may be increased/decreased by adding/removing tables one by one. The number of rows and columns are equal in all tables. If table, row or column is added, the previous values are kept unchanged. New cells are filled by zero, false or empty strings.

Member Enumeration Documentation

◆ ValueType

Type of the value in the table.

Constructor & Destructor Documentation

◆ ~ModelAPI_AttributeTables()

ModelAPI_AttributeTables::~ModelAPI_AttributeTables ( )
virtual

To virtually destroy the fields of successors.

◆ ModelAPI_AttributeTables()

ModelAPI_AttributeTables::ModelAPI_AttributeTables ( )
protected

Objects are created for features automatically.

Member Function Documentation

◆ rows()

virtual MODELAPI_EXPORT int ModelAPI_AttributeTables::rows ( )
pure virtual

Returns the number of rows in the table.

Implemented in Model_AttributeTables.

◆ columns()

virtual MODELAPI_EXPORT int ModelAPI_AttributeTables::columns ( )
pure virtual

Returns the number of columns in the table.

Implemented in Model_AttributeTables.

◆ tables()

virtual MODELAPI_EXPORT int ModelAPI_AttributeTables::tables ( )
pure virtual

Returns the number of tables.

Implemented in Model_AttributeTables.

◆ setSize()

virtual MODELAPI_EXPORT void ModelAPI_AttributeTables::setSize ( const int  theRows,
const int  theColumns,
const int  theTables = 1 
)
pure virtual

Sets the new size of the tables set.

This method tries to keep old values if number of rows, columns or tables is increased.

Implemented in Model_AttributeTables.

◆ setType()

virtual MODELAPI_EXPORT void ModelAPI_AttributeTables::setType ( ValueType  theType)
pure virtual

Defines the tyoe of values in the table. If it differs from the current, erases the content.

Implemented in Model_AttributeTables.

◆ type()

virtual MODELAPI_EXPORT const ValueType& ModelAPI_AttributeTables::type ( ) const
pure virtual

Defines the tyoe of values in the table. If it differs from the current, erases the content.

Implemented in Model_AttributeTables.

◆ setValue()

virtual MODELAPI_EXPORT void ModelAPI_AttributeTables::setValue ( const Value  theValue,
const int  theRow,
const int  theColumn,
const int  theTable = 0 
)
pure virtual

Defines the value by the index in the tables set (indexes are zero-based).

Implemented in Model_AttributeTables.

◆ value()

virtual MODELAPI_EXPORT Value ModelAPI_AttributeTables::value ( const int  theRow,
const int  theColumn,
const int  theTable = 0 
)
pure virtual

Returns the value by the index (indexes are zero-based).

Implemented in Model_AttributeTables.

◆ valueStr()

virtual MODELAPI_EXPORT std::string ModelAPI_AttributeTables::valueStr ( const int  theRow,
const int  theColumn,
const int  theTable = 0 
)
pure virtual

Returns the value in the format of string (usefull for the python connection)

Implemented in Model_AttributeTables.

◆ typeId()

static MODELAPI_EXPORT std::string ModelAPI_AttributeTables::typeId ( )
inlinestatic

Returns the type of this class of attributes.

◆ attributeType()

std::string ModelAPI_AttributeTables::attributeType ( )
virtual

Returns the type of this class of attributes, not static method.

Implements ModelAPI_Attribute.

◆ setObject()

void ModelAPI_Attribute::setObject ( const std::shared_ptr< ModelAPI_Object > &  theObject)
virtualinherited

Sets the owner of this attribute.

Reimplemented in Model_AttributeSelection, and Model_AttributeReference.

◆ owner()

const std::shared_ptr< ModelAPI_Object > & ModelAPI_Attribute::owner ( ) const
inherited

Returns the owner of this attribute.

◆ isInitialized()

bool ModelAPI_Attribute::isInitialized ( )
virtualinherited

◆ setInitialized()

void ModelAPI_Attribute::setInitialized ( )
inherited

Makes attribute initialized.

◆ blockSetInitialized()

bool ModelAPI_Attribute::blockSetInitialized ( const bool  theBlock)
inherited

Blocks sending "attribute updated" if theBlock is true.

Parameters
theBlocka block value
Returns
the previous block value

◆ setIsArgument()

void ModelAPI_Attribute::setIsArgument ( const bool  theFlag)
inherited

Set this attribute is argument for result (change of this attribute requires update of result).

By default it is true.

◆ isArgument()

bool ModelAPI_Attribute::isArgument ( )
inherited

Returns true if attribute causes the result change.

◆ setImmutable()

bool ModelAPI_Attribute::setImmutable ( const bool  theFlag)
inherited

Immutable argument can not be changed programmatically (e.g.

by constraint) By default it is false. Returns the previous state of the attribute's immutability.

◆ isImmutable()

bool ModelAPI_Attribute::isImmutable ( )
inherited

Returns true if can not be changed programmatically.

◆ id()

const std::string & ModelAPI_Attribute::id ( ) const
inherited

ID of the attribute in Data.

◆ reset()

void ModelAPI_Attribute::reset ( )
virtualinherited

Resets attribute to deafult state.

Reimplemented in Model_AttributeSelection, Model_AttributeDouble, GeomData_Point2D, and GeomData_Dir.

◆ setID()

void ModelAPI_Attribute::setID ( const std::string  theID)
protectedvirtualinherited

Sets the ID of the attribute in Data (called from Data)

Reimplemented in Model_AttributeSelection.

◆ reinit()

Field Documentation

◆ myIsInitialized

bool ModelAPI_Attribute::myIsInitialized
protectedinherited

is some value assigned to this attribute

◆ mySetInitializedBlocked

bool ModelAPI_Attribute::mySetInitializedBlocked
protectedinherited

is initialized blocked

◆ myIsArgument

bool ModelAPI_Attribute::myIsArgument
protectedinherited

is this attribute used as an argument for execution

◆ myIsImmutable

bool ModelAPI_Attribute::myIsImmutable
protectedinherited

is this attribute can be changed programmatically (e.g. by constraint)