Mercurial > hg > octave-image
changeset 908:f53cc3aaa88e
connectivity: fix base 1 indexing and avoid shadowing of properties name.
* connectivity.cc, connectivity.h: rename some method arguments to avoid
shadowing of class attributes (this->mask = mask). Also, fix indexing of
dimension vectors (which should be base 0).
author | Carnë Draug <carandraug@octave.org> |
---|---|
date | Thu, 30 Oct 2014 23:26:58 +0000 |
parents | 5e256614c376 |
children | ba9e0f8a25c0 |
files | src/connectivity.cc src/connectivity.h |
diffstat | 2 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/connectivity.cc +++ b/src/connectivity.cc @@ -39,15 +39,17 @@ return; } -connectivity::connectivity (const boolNDArray& mask) +connectivity::connectivity (const boolNDArray& mask_arg) { - ctor (mask); + ctor (mask_arg); return; } void -connectivity::ctor (const boolNDArray& mask) +connectivity::ctor (const boolNDArray& mask_arg) { + mask = mask_arg; + // Must be 1x1, 3x1, or 3x3x3x...x3 const octave_idx_type numel = mask.numel (); const octave_idx_type ndims = mask.ndims (); @@ -57,9 +59,9 @@ { // Don't forget 1x1, and 3x1 which are valid but arrays always // have at least 2d - if ( (dims(1) != 3 && dims(2) != 3) - && (dims(1) != 3 && dims(2) != 1) - && (dims(1) != 1 && dims(2) != 1)) + if ( (dims(0) != 3 && dims(1) != 3) + && (dims(0) != 3 && dims(1) != 1) + && (dims(0) != 1 && dims(1) != 1)) throw invalid_connectivity ("is not 1x1, 3x1, 3x3, or 3x3x...x3"); } else @@ -81,7 +83,6 @@ if (start[i] != end[-i]) throw invalid_connectivity ("is not symmetric relative to its center"); - this->mask = mask; return; }
--- a/src/connectivity.h +++ b/src/connectivity.h @@ -32,7 +32,7 @@ //! Will throw if val is bad connectivity (const octave_value& val); - connectivity (const boolNDArray& mask); + connectivity (const boolNDArray& mask_arg); connectivity (const octave_idx_type& conn); connectivity (const octave_idx_type& ndims, const std::string& type); @@ -43,7 +43,7 @@ Array<octave_idx_type> offsets (const dim_vector& size) const; private: - void ctor (const boolNDArray& mask); + void ctor (const boolNDArray& mask_arg); void ctor (const octave_idx_type& conn); //! Like octave_value::double_value() but actually checks if scalar.