cgma
|
Attribute for managing RefEntity source feature types. More...
#include <CASourceFeature.hpp>
Public Member Functions | |
CASourceFeature (RefEntity *, const CubitSimpleAttrib &) | |
Constructor. | |
virtual | ~CASourceFeature () |
destructor | |
CubitStatus | actuate () |
Actuate. | |
CubitStatus | update () |
Update. | |
CubitStatus | reset () |
Reset function, cleans out name lists. | |
CubitSimpleAttrib | cubit_simple_attrib () |
Returns the simple cubit attribute for this attribute. | |
GeometryFeatureEngine::FeatureType | string_to_feature_type (CubitString value_in) |
Given a cubit attribute string return the FeatureType. | |
CubitString | feature_type_to_string (GeometryFeatureEngine::FeatureType type_in) |
Returning a cubit simple attribute string for the input feature type. | |
int | int_attrib_type () |
Return the #define attribute type. | |
void | print () |
Print this attribute to the output. | |
Private Attributes | |
GeometryFeatureEngine::FeatureType | sourceFeature |
Temp source feature enum. |
Attribute for managing RefEntity source feature types.
Definition at line 13 of file CASourceFeature.hpp.
CASourceFeature::CASourceFeature | ( | RefEntity * | new_attrib_owner, |
const CubitSimpleAttrib & | csa_ptr | ||
) |
Constructor.
Definition at line 14 of file CASourceFeature.cpp.
: CubitAttrib(new_attrib_owner) { sourceFeature = GeometryFeatureEngine::FEATURE_UNDEFINED; if(!csa_ptr.isEmpty()) { const std::vector<CubitString>& cs_list = csa_ptr.string_data_list(); // step over the attribute type // now read name / option pairs if(cs_list.size()==2) { CubitString cs = cs_list[1]; if (cs.length() == 0) PRINT_WARNING("Empty feature attribute for %s %d.\n", attribOwnerEntity->class_name(), attribOwnerEntity->id()); else sourceFeature = string_to_feature_type(cs); } else deleteAttrib = CUBIT_TRUE; } }
CASourceFeature::~CASourceFeature | ( | ) | [virtual] |
CubitStatus CASourceFeature::actuate | ( | ) | [virtual] |
Actuate.
Implements CubitAttrib.
Definition at line 46 of file CASourceFeature.cpp.
{ if (hasActuated == CUBIT_TRUE) return CUBIT_SUCCESS; // create a TDSourceFeature for the entity, if it doesn't already // exist TDSourceFeature *source_feature_data = (TDSourceFeature *) attrib_owner()->get_TD(&TDSourceFeature::is_source_feature); if (!source_feature_data) { // else make a new one TDSourceFeature* new_tool_data = new TDSourceFeature(sourceFeature); attrib_owner()->add_TD(new_tool_data); } delete_attrib(CUBIT_TRUE); hasActuated = CUBIT_TRUE; return CUBIT_SUCCESS; }
CubitSimpleAttrib CASourceFeature::cubit_simple_attrib | ( | ) | [virtual] |
Returns the simple cubit attribute for this attribute.
Implements CubitAttrib.
Definition at line 102 of file CASourceFeature.cpp.
{ std::vector<CubitString> cs_list; // pack the string list: // character type of this CA cs_list.push_back(att_internal_name()); // name, option pairs cs_list.push_back(feature_type_to_string(sourceFeature)); return CubitSimpleAttrib(&cs_list, NULL, NULL); }
Returning a cubit simple attribute string for the input feature type.
Definition at line 157 of file CASourceFeature.cpp.
{ switch(type_in) { case GeometryFeatureEngine::FEATURE_IMPRINT: return "IMPRINT"; case GeometryFeatureEngine::FEATURE_HOLE: return "HOLE"; case GeometryFeatureEngine::FEATURE_ROUND: return "ROUND"; case GeometryFeatureEngine::FEATURE_CHAMFER: return "CHAMFER"; case GeometryFeatureEngine::FEATURE_SLOT: return "SLOT"; case GeometryFeatureEngine::FEATURE_CUT: return "CUT"; default: return ""; } }
int CASourceFeature::int_attrib_type | ( | ) | [inline, virtual] |
Return the #define attribute type.
Implements CubitAttrib.
Definition at line 47 of file CASourceFeature.hpp.
{return CA_SOURCE_FEATURE;}
void CASourceFeature::print | ( | ) | [virtual] |
Print this attribute to the output.
Reimplemented from CubitAttrib.
Definition at line 117 of file CASourceFeature.cpp.
{ // print info on this attribute PRINT_INFO("CASourceFeature: owner = %s %d; feature: ", attribOwnerEntity->class_name(), attribOwnerEntity->id()); PRINT_INFO("%s ", feature_type_to_string(sourceFeature).c_str()); PRINT_INFO("\n"); }
CubitStatus CASourceFeature::reset | ( | ) | [virtual] |
Reset function, cleans out name lists.
Implements CubitAttrib.
Definition at line 94 of file CASourceFeature.cpp.
{ sourceFeature = GeometryFeatureEngine::FEATURE_UNDEFINED; hasUpdated = CUBIT_FALSE; return CUBIT_SUCCESS; }
Given a cubit attribute string return the FeatureType.
Definition at line 128 of file CASourceFeature.cpp.
{ /* FEATURE_UNDEFINED, FEATURE_HOLE, FEATURE_ROUND, FEATURE_CHAMFER, FEATURE_SLOT , FEATURE_CUT, FEATURE_IMPRINT */ if(value_in == "IMPRINT") return GeometryFeatureEngine::FEATURE_IMPRINT; else if(value_in == "HOLE") return GeometryFeatureEngine::FEATURE_HOLE; else if(value_in == "ROUND") return GeometryFeatureEngine::FEATURE_ROUND; else if(value_in == "CHAMFER") return GeometryFeatureEngine::FEATURE_CHAMFER; else if(value_in == "SLOT") return GeometryFeatureEngine::FEATURE_SLOT; else if(value_in == "CUT") return GeometryFeatureEngine::FEATURE_CUT; else return GeometryFeatureEngine::FEATURE_UNDEFINED; }
CubitStatus CASourceFeature::update | ( | ) | [virtual] |
Update.
Implements CubitAttrib.
Definition at line 69 of file CASourceFeature.cpp.
{ if(hasUpdated) return CUBIT_SUCCESS; // set the updated flag hasUpdated = CUBIT_TRUE; // if the owner has a unique id, save it, otherwise delete this one TDSourceFeature *source_feature_data = (TDSourceFeature *) attrib_owner()->get_TD(&TDSourceFeature::is_source_feature); if (!source_feature_data) delete_attrib(CUBIT_TRUE); else { if (delete_attrib() == CUBIT_TRUE) delete_attrib(CUBIT_FALSE); sourceFeature = source_feature_data->source_feature(); } return CUBIT_SUCCESS; }
Temp source feature enum.
Definition at line 17 of file CASourceFeature.hpp.