rl_DielectricPODArray.h
00001 #ifndef rl_DielectricPODArray_h_INCLUDED
00002 #define rl_DielectricPODArray_h_INCLUDED
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <cstddef>
00037 #include <rl_raylib/rl_Traits.h>
00038 #include <rl_raylib/rl_Exception.h>
00039
00040
00041
00042
00043
00057 class rl_DielectricPODArray
00058 {
00059 protected:
00060
00062 size_t nelts_;
00064 rl_Traits::rl_DielectricPOD* data_;
00065
00066 public:
00067
00071 ~rl_DielectricPODArray();
00072
00079 rl_DielectricPODArray();
00080
00089 rl_DielectricPODArray( size_t nelts,
00090 double const* energy,
00091 double const* alpha,
00092 double const* gamma )
00093 throw ( rl_Exception );
00094
00101 rl_DielectricPODArray( size_t nelts,
00102 rl_Traits::rl_DielectricPOD* diel
00103 )
00104 throw ( rl_Exception );
00105
00118 void
00119 init( size_t nelts,
00120 double const* energy,
00121 double const* alpha,
00122 double const* gamma );
00123
00134 void
00135 init( size_t nelts,
00136 rl_Traits::rl_DielectricPOD* diel );
00137
00143 size_t num_elts() const;
00144
00150 rl_Traits::rl_DielectricPOD const* const_data_ptr() const;
00151
00165 void cprint_on( std::FILE* of, char const pre[] = "",
00166 char const pst[] = "" ) const;
00167 };
00168
00169 inline size_t rl_DielectricPODArray::
00170 num_elts() const
00171 { return nelts_; }
00172
00173 inline rl_Traits::rl_DielectricPOD const* rl_DielectricPODArray::
00174 const_data_ptr() const
00175 { return data_; }
00176
00177
00178 #endif