root/cgm/trunk/geom/virtual/CompositeAttrib.hpp

Revision 1040, 1.4 KB (checked in by tautges, 2 years ago)

Version 10.2 of cgm.

Line 
1//-------------------------------------------------------------------------
2// Filename      : CompositeAttrib.hpp
3//
4// Purpose       : Container for attribute data placed on composite geometry.
5//
6// Special Notes : This object is intended for internal use by CompositeGeom
7//                 exclusively.
8//
9// Creator       : Jason Kraftcheck
10//
11// Creation Date : 07/01/03
12//-------------------------------------------------------------------------
13
14#ifndef COMPOSITE_ATTRIB_HPP
15#define COMPOSITE_ATTRIB_HPP
16
17class CubitSimpleAttrib;
18class CubitString;
19template <class X> class DLIList; 
20
21class CompositeAttrib
22{
23  private:
24 
25    int int_count;
26    int* int_array;
27   
28    int real_count;
29    double* real_array;
30   
31    int string_count;
32    CubitString* string_array;
33 
34    void append_to_lists( DLIList<CubitString*>& strings,
35                          DLIList<int*>& ints,
36                          DLIList<double*>& reals ) const;
37 
38  public:
39 
40    const CubitString& name() const { return *string_array; }
41   
42    CompositeAttrib* next;
43 
44    CompositeAttrib( CubitSimpleAttrib* attrib, CompositeAttrib* next_ptr );
45    CompositeAttrib( const CompositeAttrib& copy );
46    ~CompositeAttrib();
47   
48    void append_to_csa( CubitSimpleAttrib* attrib ) const;
49   
50#ifdef BOYD15
51    void merge_strings( const CompositeAttrib& dead );
52#endif
53   
54    bool equals( CubitSimpleAttrib* attrib ) const;
55   
56    CubitSimpleAttrib* csa( ) const;
57   
58};
59   
60
61#endif
Note: See TracBrowser for help on using the browser.