|
Sierra Toolkit
Version of the Day
|
00001 /*------------------------------------------------------------------------*/ 00002 /* Copyright 2010 Sandia Corporation. */ 00003 /* Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive */ 00004 /* license for use of this work by or on behalf of the U.S. Government. */ 00005 /* Export of this program may require a license from the */ 00006 /* United States Government. */ 00007 /*------------------------------------------------------------------------*/ 00008 00009 00010 #ifndef stk_mesh_Field_hpp 00011 #define stk_mesh_Field_hpp 00012 00013 //---------------------------------------------------------------------- 00014 00015 #include <stk_mesh/base/FieldBase.hpp> 00016 #include <stk_mesh/base/FieldRelation.hpp> 00017 #include <stk_mesh/base/FieldTraits.hpp> 00018 00019 //---------------------------------------------------------------------- 00020 00021 namespace stk_classic { 00022 namespace mesh { 00023 00112 // Implementation Details: 00113 // The template arguments below describe the field type. Scalar is the scalar 00114 // type of data contained by the field. The TagN describe each dimension of the 00115 // Field, these are expected to be ArrayDimTags. Unused dimensions can be ignored. 00116 template< typename Scalar , class Tag1 , class Tag2 , class Tag3 , class Tag4 , 00117 class Tag5 , class Tag6 , class Tag7 > 00118 class Field : public FieldBase { 00119 public: 00120 00122 Field & field_of_state( FieldState input_state ) const { 00123 return static_cast<Field &>( * FieldBase::field_state(input_state) ); 00124 } 00125 00126 private: 00127 00128 #ifndef DOXYGEN_COMPILE 00129 00130 ~Field(); 00131 Field(); 00132 Field( const Field & ); 00133 Field & operator = ( const Field & ); 00134 00135 #endif /* DOXYGEN_COMPILE */ 00136 }; 00137 00138 } // namespace mesh 00139 } // namespace stk_classic 00140 00141 #endif /* stk_mesh_Field_hpp */ 00142