cgma
CompositeAttrib.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines