cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : CompositeAttrib.hpp 00003 // 00004 // Purpose : Container for attribute data placed on composite geometry. 00005 // 00006 // Special Notes : This object is intended for internal use by CompositeGeom 00007 // exclusively. 00008 // 00009 // Creator : Jason Kraftcheck 00010 // 00011 // Creation Date : 07/01/03 00012 //------------------------------------------------------------------------- 00013 00014 #ifndef COMPOSITE_ATTRIB_HPP 00015 #define COMPOSITE_ATTRIB_HPP 00016 00017 class CubitSimpleAttrib; 00018 class CubitString; 00019 #include <vector> 00020 00021 class CompositeAttrib 00022 { 00023 private: 00024 00025 std::vector<int> int_array; 00026 std::vector<double> real_array; 00027 std::vector<CubitString> string_array; 00028 00029 void append_to_lists( std::vector<CubitString>& strings, 00030 std::vector<int>& ints, 00031 std::vector<double>& reals ) const; 00032 00033 public: 00034 00035 const CubitString& name() const { return string_array[0]; } 00036 00037 CompositeAttrib* next; 00038 00039 CompositeAttrib( const CubitSimpleAttrib& attrib, CompositeAttrib* next_ptr ); 00040 CompositeAttrib( const CompositeAttrib& copy ); 00041 ~CompositeAttrib(); 00042 00043 void append_to_csa( CubitSimpleAttrib& attrib ) const; 00044 00045 bool equals( const CubitSimpleAttrib& attrib ) const; 00046 00047 CubitSimpleAttrib csa( ) const; 00048 00049 }; 00050 00051 00052 #endif