diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2016-02-16 17:01:24 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <wjp@usecode.org> | 2016-02-16 17:01:24 +0100 |
commit | c041ce4fabcafe263bb93ca481040ed32ed5c5f2 (patch) | |
tree | 5797527410083fd71adf43583eb95a004f897105 /include/astra | |
parent | 46836ee3195fdc8d09a0f03cee13b475b4ff9fc1 (diff) | |
parent | 447e7acfb0c220f66d5fe25f31b25c989d4ec1d7 (diff) | |
download | astra-c041ce4fabcafe263bb93ca481040ed32ed5c5f2.tar.gz astra-c041ce4fabcafe263bb93ca481040ed32ed5c5f2.tar.bz2 astra-c041ce4fabcafe263bb93ca481040ed32ed5c5f2.tar.xz astra-c041ce4fabcafe263bb93ca481040ed32ed5c5f2.zip |
Merge pull request #113 from wjp/splitXY
Also split volumes in X/Y directions to respect CUDA limits
Diffstat (limited to 'include/astra')
-rw-r--r-- | include/astra/CompositeGeometryManager.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h index 4338994..18dd72f 100644 --- a/include/astra/CompositeGeometryManager.h +++ b/include/astra/CompositeGeometryManager.h @@ -79,7 +79,9 @@ public: bool uploadToGPU(); bool downloadFromGPU(/*mode?*/); - virtual TPartList split(size_t maxSize, int div) = 0; + virtual void splitX(TPartList& out, size_t maxSize, size_t maxDim, int div) = 0; + virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div) = 0; + virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div) = 0; virtual CPart* reduce(const CPart *other) = 0; virtual void getDims(size_t &x, size_t &y, size_t &z) = 0; size_t getSize(); @@ -93,7 +95,9 @@ public: CVolumeGeometry3D* pGeom; - virtual TPartList split(size_t maxSize, int div); + virtual void splitX(TPartList& out, size_t maxSize, size_t maxDim, int div); + virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div); + virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div); virtual CPart* reduce(const CPart *other); virtual void getDims(size_t &x, size_t &y, size_t &z); @@ -107,7 +111,9 @@ public: CProjectionGeometry3D* pGeom; - virtual TPartList split(size_t maxSize, int div); + virtual void splitX(TPartList& out, size_t maxSize, size_t maxDim, int div); + virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div); + virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div); virtual CPart* reduce(const CPart *other); virtual void getDims(size_t &x, size_t &y, size_t &z); |