|
cgma
|
#include <CAEntityName.hpp>
Public Member Functions | |
| virtual | ~CAEntityName () |
| CAEntityName (RefEntity *, const CubitSimpleAttrib &) | |
| CubitStatus | actuate () |
| CubitStatus | update () |
| CubitStatus | reset () |
| CubitSimpleAttrib | split_owner () |
| void | merge_owner (CubitAttrib *deletable_attrib) |
| CubitSimpleAttrib | cubit_simple_attrib () |
| int | int_attrib_type () |
| void | print () |
Private Attributes | |
| DLIList< CubitString > | entityNames |
Definition at line 17 of file CAEntityName.hpp.
| CAEntityName::~CAEntityName | ( | ) | [virtual] |
Definition at line 50 of file CAEntityName.cpp.
{
PRINT_DEBUG_94("Deleting ENTITY_NAME attribute\n");
}
| CAEntityName::CAEntityName | ( | RefEntity * | new_attrib_owner, |
| const CubitSimpleAttrib & | csa_ptr | ||
| ) |
Definition at line 19 of file CAEntityName.cpp.
: CubitAttrib(new_attrib_owner) { if(!csa_ptr.isEmpty()) { PRINT_DEBUG_94( "Creating ENTITY_NAME attribute from CSA for %s %d\n", (attribOwnerEntity ? attribOwnerEntity->class_name() : "(none)"), (attribOwnerEntity ? attribOwnerEntity->id() : 0)); const std::vector<CubitString>& cs_list = csa_ptr.string_data_list(); // step over the attribute type // now read name / option pairs for (size_t i = 1; i<cs_list.size(); i++) { CubitString cs = cs_list[i]; if (cs.length() == 0) PRINT_WARNING("Empty name attribute for %s %d.\n", attribOwnerEntity->class_name(), attribOwnerEntity->id()); else entityNames.append(cs); } if (entityNames.size() == 0) deleteAttrib = CUBIT_TRUE; } }
| CubitStatus CAEntityName::actuate | ( | ) | [virtual] |
Implements CubitAttrib.
Definition at line 55 of file CAEntityName.cpp.
{
if (hasActuated == CUBIT_TRUE) return CUBIT_SUCCESS;
PRINT_DEBUG_94( "Actuating ENTITY_NAME attribute for %s %d\n",
attribOwnerEntity->class_name(), attribOwnerEntity->id());
entityNames.reset();
CubitBoolean update_attribs = (CubitBoolean)
(RefEntityName::instance()->get_generate_default_names()!=1);
RefEntityName::instance()->add_refentity_name(attribOwnerEntity,entityNames,
update_attribs);
hasActuated = CUBIT_TRUE;
return CUBIT_SUCCESS;
}
| CubitSimpleAttrib CAEntityName::cubit_simple_attrib | ( | ) | [virtual] |
Implements CubitAttrib.
Definition at line 159 of file CAEntityName.cpp.
{
PRINT_DEBUG_94("CAEntityName::cubit_simple_attrib()\n");
std::vector<CubitString> cs_list;
// pack the string list:
// character type of this CA
cs_list.push_back(att_internal_name());
// name, option pairs
int i;
for ( i = entityNames.size(); i > 0; i--) {
cs_list.push_back(entityNames.get_and_step());
}
return CubitSimpleAttrib(&cs_list, NULL, NULL);
}
| int CAEntityName::int_attrib_type | ( | ) | [inline, virtual] |
| void CAEntityName::merge_owner | ( | CubitAttrib * | deletable_attrib | ) | [virtual] |
Reimplemented from CubitAttrib.
Definition at line 144 of file CAEntityName.cpp.
{
// if this entity is to be merged, copy names over from deletable entity
CAEntityName *caen_ptr = CAST_TO(deletable_attrib, CAEntityName);
if (caen_ptr)
{
DLIList<CubitString> &other_names = caen_ptr->entityNames;
other_names.reset();
for (int i = other_names.size(); i--; )
{
entityNames.append(other_names.get_and_step());
}
}
}
| void CAEntityName::print | ( | ) | [virtual] |
Reimplemented from CubitAttrib.
Definition at line 179 of file CAEntityName.cpp.
{
// print info on this attribute
entityNames.reset();
PRINT_INFO("CAEntityName: owner = %s %d; names: ",
attribOwnerEntity->class_name(), attribOwnerEntity->id());
for (int i = entityNames.size(); i > 0; i--)
PRINT_INFO("%s ", entityNames.get_and_step().c_str());
PRINT_INFO("\n");
}
| CubitStatus CAEntityName::reset | ( | ) | [virtual] |
Implements CubitAttrib.
Definition at line 120 of file CAEntityName.cpp.
{
PRINT_DEBUG_94("CAEntityName::reset()\n");
//- reset function, cleans out name list
entityNames.clean_out();
// need to reset hasUpdated flag too, so next update will do something
hasUpdated = CUBIT_FALSE;
return CUBIT_SUCCESS;
}
| CubitSimpleAttrib CAEntityName::split_owner | ( | ) | [virtual] |
Reimplemented from CubitAttrib.
Definition at line 132 of file CAEntityName.cpp.
{
// if this entity is to be split, pass back a simple attribute with
// duplicate name data to be put on new entity
PRINT_DEBUG_94("CAEntityName::split_owner()\n");
update();
if( deleteAttrib )
return CubitSimpleAttrib();
else
return cubit_simple_attrib();
}
| CubitStatus CAEntityName::update | ( | ) | [virtual] |
Implements CubitAttrib.
Definition at line 74 of file CAEntityName.cpp.
{
if (hasUpdated) return CUBIT_SUCCESS;
PRINT_DEBUG_94( "Updating ENTITY_NAME attribute for %s %d\n",
attribOwnerEntity->class_name(), attribOwnerEntity->id());
// set the updated flag
hasUpdated = CUBIT_TRUE;
// first, remove this attrib in its old form from the geometry entity
if (hasWritten == CUBIT_TRUE) {
attribOwnerEntity->remove_attrib_geometry_entity(this);
hasWritten = CUBIT_FALSE;
}
DLIList<CubitString> names;
int num_names = RefEntityName::instance()->
get_refentity_name(attribOwnerEntity,names);
if( num_names == 0)
{
delete_attrib(CUBIT_TRUE);
return CUBIT_SUCCESS;
}
else
{
// get the names; since RefEntityName passes back pointers to
// its own strings, create new ones here
int i;
// first, delete all the old names on the list
entityNames.clean_out();
for (i = names.size(); i > 0; i--) {
entityNames.append(names.get_and_step());
}
// reset the delete flag if it was set before
delete_attrib(CUBIT_FALSE);
// now, write to geometry entity
attribOwnerEntity->write_specific_cubit_attrib(this);
}
return CUBIT_SUCCESS;
}
DLIList<CubitString> CAEntityName::entityNames [private] |
Definition at line 21 of file CAEntityName.hpp.