00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_Volume_h__
00017 #define __HOM_Volume_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Prim.h"
00021
00022 SWIGOUT(%rename(Volume) HOM_Volume;)
00023
00024 class HOM_API HOM_Volume : virtual public HOM_Prim
00025 {
00026 public:
00027 HOM_Volume()
00028 { HOM_CONSTRUCT_OBJECT(this) }
00029
00030
00031
00032
00033 HOM_Volume(const HOM_Volume &volume)
00034 : HOM_Prim(volume)
00035 { HOM_CONSTRUCT_OBJECT(this) }
00036
00037 virtual ~HOM_Volume()
00038 { HOM_DESTRUCT_OBJECT(this) }
00039
00040
00041
00042 SWIGOUT(virtual std::string __repr__()
00043 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;)
00044
00045 virtual float sample(const std::vector<float> &position)
00046 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_InvalidSize,
00047 HOM_Error) = 0;
00048
00049 SWIGOUT(%newobject gradient;)
00050 virtual HOM_Vector3 *gradient(const std::vector<float> &position)
00051 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_InvalidSize,
00052 HOM_Error) = 0;
00053
00054 virtual float voxel(const std::vector<int> &index)
00055 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_InvalidSize,
00056 HOM_Error) = 0;
00057
00058 virtual void setVoxel(const std::vector<int> &index, float value)
00059 throw(HOM_GeometryPermissionError, HOM_OperationFailed,
00060 HOM_ObjectWasDeleted, HOM_InvalidSize, HOM_Error) = 0;
00061
00062 virtual std::vector<float> allVoxels()
00063 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00064
00065 virtual std::string allVoxelsAsString()
00066 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00067
00068 virtual void setAllVoxels(const std::vector<float> &values)
00069 throw(HOM_GeometryPermissionError, HOM_OperationFailed,
00070 HOM_ObjectWasDeleted, HOM_InvalidSize, HOM_Error) = 0;
00071
00072 virtual void setAllVoxelsFromString(const std::string &values)
00073 throw(HOM_GeometryPermissionError, HOM_OperationFailed,
00074 HOM_ObjectWasDeleted, HOM_InvalidSize, HOM_Error) = 0;
00075
00076 virtual std::vector<int> resolution()
00077 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00078
00079 SWIGOUT(%newobject indexToPos;)
00080 virtual HOM_Vector3 *indexToPos(const std::vector<int> &index)
00081 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_InvalidSize,
00082 HOM_Error) = 0;
00083
00084 virtual std::vector<int> posToIndex(const std::vector<float> &position)
00085 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_InvalidSize,
00086 HOM_Error) = 0;
00087
00088 virtual bool isValidIndex(const std::vector<int> &index)
00089 throw(HOM_ObjectWasDeleted, HOM_InvalidSize, HOM_Error) = 0;
00090
00091 virtual float volumeMax()
00092 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00093
00094 virtual float volumeMin()
00095 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00096
00097 virtual float volumeAverage()
00098 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00099
00100 SWIGOUT(%newobject transform;)
00101 virtual HOM_Matrix3 *transform()
00102 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00103
00104 virtual float taperX()
00105 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00106 virtual float taperY()
00107 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00108 };
00109
00110 #endif