File indexing completed on 2026-04-09 07:49:42
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <string>
0014 #include <sstream>
0015 #include <iomanip>
0016 #include <cassert>
0017
0018 #include "SYSRAP_API_EXPORT.hh"
0019
0020 struct SYSRAP_API spa
0021 {
0022 static constexpr const char* NAME = "spa" ;
0023 static constexpr const int N = 6 ;
0024 double x0, y0, z0, w0, x1, y1 ;
0025
0026 const double* data() const { return &x0 ; }
0027 double zmin() const { return x1 ; }
0028 double zmax() const { return y1 ; }
0029 void decrease_zmin(double dz){ assert( dz >= 0.) ; x1 -= dz ; }
0030 void increase_zmax(double dz){ assert( dz >= 0.) ; y1 += dz ; }
0031
0032 std::string desc() const ;
0033 };
0034
0035 inline std::string spa::desc() const
0036 {
0037 const double* v = data() ;
0038 int wid = 8 ;
0039 int pre = 3 ;
0040 std::stringstream ss ;
0041 ss << "(" ;
0042 for(int i=0 ; i < N ; i++) ss << std::setw(wid) << std::fixed << std::setprecision(pre) << v[i] << " " ;
0043 ss << ")" ;
0044 std::string str = ss.str();
0045 return str ;
0046 }
0047
0048