34 #ifndef CARTODATA_VOLUME_VOLUMEBASE_D_INSTANTIATE_H 
   35 #define CARTODATA_VOLUME_VOLUMEBASE_D_INSTANTIATE_H 
   53   extern template class Volume<bool>;
 
   54   extern template class Volume<int8_t>;
 
   55   extern template class Volume<uint8_t>;
 
   57 #if !defined(__sun__) || !defined(_CHAR_IS_SIGNED) 
   58   extern template class Volume<char>;
 
   60   extern template class Volume<int16_t>;
 
   61   extern template class Volume<uint16_t>;
 
   62   extern template class Volume<int32_t>;
 
   63   extern template class Volume<uint32_t>;
 
   64   extern template class Volume<int64_t>;
 
   65   extern template class Volume<uint64_t>;
 
   66   extern template class Volume<float>;
 
   67   extern template class Volume<double>;
 
   68   extern template class Volume<cfloat>;
 
   69   extern template class Volume<cdouble>;
 
   70   extern template class Volume< std::map<int, float> >;
 
   71   extern template class Volume< soma::VoxelRGB >;
 
   72   extern template class Volume< soma::VoxelRGBA >;
 
   73   extern template class Volume< soma::VoxelHSV >;
 
   74   extern template class Volume<Point3df>;
 
   75   extern template class Volume<Point3d>;
 
   76   extern template class Volume<Point3dd>;
 
   77   extern template class Volume<Point2d>;
 
   78   extern template class Volume<AimsVector<float,6> >;
 
   79 #ifdef CARTO_LONG_IS_DISTINCT 
   80   extern template class Volume<long>;
 
   81   extern template class Volume<unsigned long>;
 
   84   extern template class Creator<Volume<bool> >;
 
   85   extern template class Creator<Volume<int8_t> >;
 
   86   extern template class Creator<Volume<uint8_t> >;
 
   88 #if !defined(__sun__) || !defined(_CHAR_IS_SIGNED) 
   89   extern template class Creator<Volume<char> >;
 
   91   extern template class Creator<Volume<int16_t> >;
 
   92   extern template class Creator<Volume<uint16_t> >;
 
   93   extern template class Creator<Volume<int32_t> >;
 
   94   extern template class Creator<Volume<uint32_t> >;
 
   95   extern template class Creator<Volume<int64_t> >;
 
   96   extern template class Creator<Volume<uint64_t> >;
 
   97   extern template class Creator<Volume<float> >;
 
   98   extern template class Creator<Volume<double> >;
 
   99   extern template class Creator<Volume<cfloat> >;
 
  100   extern template class Creator<Volume<cdouble> >;
 
  101   extern template class Creator<Volume< std::map<int, float> > >;
 
  102   extern template class Creator<Volume<soma::VoxelRGB> >;
 
  103   extern template class Creator<Volume<soma::VoxelRGBA> >;
 
  104   extern template class Creator<Volume<soma::VoxelHSV> >;
 
  105   extern template class Creator<Point3df>;
 
  106   extern template class Creator<Point3d>;
 
  107   extern template class Creator<Point3dd>;
 
  108   extern template class Creator<Point2d>;
 
  109   extern template class Creator<AimsVector<float,6> >;
 
  110 #ifdef CARTO_LONG_IS_DISTINCT 
  111   extern template class Creator<Volume<long> >;
 
  112   extern template class Creator<Volume<unsigned long> >;
 
  116   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< int8_t > > )
 
  117   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< uint8_t > > )
 
  118 #if !defined(__sun__) || !defined(_CHAR_IS_SIGNED) 
  122   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< uint16_t > > )
 
  123   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< int32_t > > )
 
  124   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< uint32_t > > )
 
  125   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< int64_t > > )
 
  126   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< uint64_t > > )
 
  127   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
float > > )
 
  128   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
double > > )
 
  129   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
cfloat > > )
 
  130   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
cdouble > > )
 
  131   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
soma::VoxelRGB > > )
 
  132   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
soma::VoxelRGBA > > )
 
  133   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
soma::VoxelHSV > > )
 
  134   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
Point3df > > )
 
  135   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
Point3d > > )
 
  136   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
Point3dd > > )
 
  137   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
Point2d > > )
 
  141 #ifdef CARTO_LONG_IS_DISTINCT 
  143   DECLARE_GENERIC_OBJECT_TYPE( rc_ptr<Volume< 
unsigned long > > )
 
#define DECLARE_GENERIC_OBJECT_TYPE(T)
std::complex< double > cdouble
std::complex< float > cfloat