Horus Doc || Corba Reference || Corba   Client Server   Stubs C++   Stubs Java   Servant Generator  

HxCorbaConversions.c File Reference

#include <OB/CORBA.h>
#include "HxCorbaConversions.h"

Functions

HxImageSignature HxConvertImageSig (HxCorba::ImageSignature sig)
HxCorba::ImageSignature HxConvertImageSig (HxImageSignature sig)
HxImageRep::ResultPrecision HxConvertPrecision (HxCorba::ResultPrecision prec)
HxGeoIntType HxConvertGeoIntType (HxCorba::GeoIntType gi)
HxGeoTransType HxConvertGeoTransType (HxCorba::GeoTransType gt)
HxCorba::PixValue HxConvertValue (HxValue &val)
HxValue HxConvertValue (const HxCorba::PixValue &val)

Variables

HxImageSignature sigs []
int sigs_length = sizeof(sigs) / sizeof(sigs[0])

Function Documentation

HxImageSignature HxConvertImageSig HxCorba::ImageSignature    sig
 

00023 {
00024     // ADB (11 Mar 2002): Added ugly bounds check...
00025     if ((sig < 0) || (sig >= sigs_length)) {
00026     HxEnvironment::instance()->errorStream()
00027         << "Unknown HxImageSignature: " << sig << STD_ENDL
00028         << "Client must have passed an invalid HxImageSignature enum" << STD_ENDL
00029         << "Returning an HXIMAGESIG2DINT (beware)." << STD_ENDL;
00030     sig = HxConvertEnum<HxCorba::ImageSignature, HxImageSignature>(sigs, sigs_length, HXIMAGESIG2DINT);
00031     }
00032     return sigs[sig];
00033 }

HxCorba::ImageSignature HxConvertImageSig HxImageSignature    sig
 

00037 {
00038     return HxConvertEnum<HxCorba::ImageSignature, HxImageSignature>(sigs, sigs_length, sig);
00039 
00040     /*int nSigs = 15;
00041 
00042     for(int i=0; i<nSigs; i++)
00043         if(sig == sigs[i]) return (HxCorba::ImageSignature)i;
00044 
00045     return (HxCorba::ImageSignature)0;*/
00046 }

HxImageRep::ResultPrecision HxConvertPrecision HxCorba::ResultPrecision    prec
 

00050 {
00051     HxImageRep::ResultPrecision precs[] = { HxImageRep::SOURCE_PREC, 
00052         HxImageRep::ARITH_PREC, HxImageRep::SMALL_PREC };
00053     return precs[prec];
00054 }

HxGeoIntType HxConvertGeoIntType HxCorba::GeoIntType    gi
 

00059 {
00060     if(gi == HxCorba::LINEAR) return LINEAR;
00061     else return NEAREST;
00062 }

HxGeoTransType HxConvertGeoTransType HxCorba::GeoTransType    gt
 

00066 {
00067     if(gt == HxCorba::FORWARD) return FORWARD;
00068     else return BACKWARD;
00069 }

HxCorba::PixValue HxConvertValue HxValue   val
 

00073 {
00074     HxCorba::PixValue result;
00075     if(val.tag() == HxValue::SI) {
00076         HxScalarInt si = val.HxScalarIntValue();
00077         CORBA::Long csi = si.x();
00078         result.scalarInt(csi);
00079     }else if(val.tag() == HxValue::SD) {
00080         HxScalarDouble sd = val.HxScalarDoubleValue();
00081         CORBA::Double csd = sd.x();
00082         result.scalarDouble(csd);
00083     }else if(val.tag() == HxValue::V2I) {
00084         HxVec2Int v2i = val.HxVec2IntValue();
00085         HxCorba::Vec2I cv2i = { v2i.x(), v2i.y() };
00086         result.vect2Int(cv2i);
00087     }else if(val.tag() == HxValue::V2D) {
00088         HxVec2Double v2d = val.HxVec2DoubleValue();
00089         HxCorba::Vec2D cv2d = { v2d.x(), v2d.y() };
00090         result.vect2Double(cv2d);
00091     }else if(val.tag() == HxValue::V3I) {
00092         HxVec3Int v3i = val.HxVec3IntValue();
00093         HxCorba::Vec3I cv3i = { v3i.x(), v3i.y(), v3i.z() };
00094         result.vect3Int(cv3i);
00095     }else if(val.tag() == HxValue::V3D) {
00096         HxVec3Double v3d = val.HxVec3DoubleValue();
00097         HxCorba::Vec3D cv3d = { v3d.x(), v3d.y(), v3d.z() };
00098         result.vect3Double(cv3d);
00099     }else if(val.tag() == HxValue::CPL) {
00100         HxComplex cpl = val.HxComplexValue();
00101         HxCorba::Complex ccpl = { cpl.x(), cpl.y() };
00102         result.cplx(ccpl);
00103     }
00104     return result;
00105 }

HxValue HxConvertValue const HxCorba::PixValue   val
 

00110 {
00111     HxValue result;
00112     if(val._d() == HxCorba::SI) {
00113         CORBA::Long csi = val.scalarInt();
00114         result = HxValue(HxScalarInt(csi));
00115     }else if(val._d() == HxCorba::SD) {
00116         CORBA::Double csd = val.scalarDouble();
00117         result = HxValue(HxScalarDouble(csd));
00118     }else if(val._d() == HxCorba::V2I) {
00119         HxCorba::Vec2I cv2i = val.vect2Int();
00120         result = HxValue(HxVec2Int(cv2i.x, cv2i.y));
00121     }else if(val._d() == HxCorba::V2D) {
00122         HxCorba::Vec2D cv2d = val.vect2Double();
00123         result = HxValue(HxVec2Double(cv2d.x, cv2d.y));
00124     }else if(val._d() == HxCorba::V3I) {
00125         HxCorba::Vec3I cv3i = val.vect3Int();
00126         result = HxValue(HxVec3Int(cv3i.x, cv3i.y, cv3i.z));
00127     }else if(val._d() == HxCorba::V3D) {
00128         HxCorba::Vec3D cv3d = val.vect3Double();
00129         result = HxValue(HxVec3Double(cv3d.x, cv3d.y, cv3d.z));
00130     }else if(val._d() == HxCorba::CPL) {
00131         HxCorba::Complex ccpl = val.cplx();
00132         result = HxValue(HxComplex(ccpl.x, ccpl.y));
00133     }
00134     return result;
00135 }


Variable Documentation

HxImageSignature sigs[]
 

Initial value:

 { HXIMAGESIG2DBYTE, HXIMAGESIG2DSHORT, 
    HXIMAGESIG2DINT, HXIMAGESIG2DFLOAT, HXIMAGESIG2DDOUBLE,
    HXIMAGESIG2DVEC2BYTE, HXIMAGESIG2DVEC2SHORT, HXIMAGESIG2DVEC2INT, 
    HXIMAGESIG2DVEC2FLOAT, HXIMAGESIG2DVEC2DOUBLE,
    HXIMAGESIG2DVEC3BYTE, HXIMAGESIG2DVEC3SHORT, HXIMAGESIG2DVEC3INT, 
    HXIMAGESIG2DVEC3FLOAT, HXIMAGESIG2DVEC3DOUBLE, HXIMAGESIG2DCOMPLEX }

int sigs_length = sizeof(sigs) / sizeof(sigs[0])
 


Generated on Mon Jan 27 15:20:52 2003 for CorbaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001