#include "hvector.h" #include "hgeosphe.h" typedef HVector FVec; int HGeoSphe::readPoints(HGeoInfo & geoInfo, HString & volName, HGeoParam & ele) { #ifdef WITHORACLE ele.vol=FVec(0.0F,3); char* vName=volName; // not yet implemeted !!!!!!!! cerr << "code for reading a SPHE from database is not yet implemeted" << endl; return HFAILURE; #endif return HSUCCESS; } int HGeoSphe::readPoints(HGeoInfo & geoInfo, HGeoParam & ele) { ele.vol=FVec(0.0F,3); for(int i=0;i<3;i++) {geoInfo.fin >> ele.vol[i][0] >> ele.vol[i][1];} return HSUCCESS; } void HGeoSphe::calcShape(HGeoParam & ele, HGeoShapePar & p) { float fac=10.F; p.noPar=6; p.volPar=FVec(0.0F,6); p.volPar[0]=ele.vol[0][0] /fac; p.volPar[1]=ele.vol[0][1] /fac; p.volPar[2]=ele.vol[1][0]; p.volPar[3]=ele.vol[1][1]; p.volPar[4]=ele.vol[2][0]; p.volPar[5]=ele.vol[2][1]; return; } int HGeoSphe::posShape(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & p) { if (mo.shape=="PGON") { posInPgon(ele,mo,p); return HSUCCESS; } cerr << ele.shape << " in " << mo.shape << " is not yet implemeted" << endl; return HFAILURE; } void HGeoSphe::posInPgon(HGeoParam & ele, HGeoParam & mo, HGeoShapePar & p) { float fac=10.F; p.nRot=0; ele.geaPos=0.0F; p.pos=(ele.trans - mo.geaPos) / fac; return; }