diff --git a/library/PolyVoxCore/include/PolyVoxCore/Region.h b/library/PolyVoxCore/include/PolyVoxCore/Region.h index 39a12f6c..564bd0b1 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/Region.h +++ b/library/PolyVoxCore/include/PolyVoxCore/Region.h @@ -30,21 +30,25 @@ freely, subject to the following restrictions: namespace PolyVox { - /** - Represents a part of a Volume. - - Many operations in PolyVox are constrained to only part of a volume. For example, when running the surface extractors - it is unlikely that you will want to run it on the whole volume at once, as this will give a very large mesh which may - be too much to render. Instead you will probably want to run a surface extractor a number of times on different parts - of the volume, there by giving a number of meshes which can be culled and rendered seperately. - - The Region class is used to define these parts (regions) of the volume. Essentially it consists of an upper and lower - bound which specify the range of voxels positions considered to be part of the region. Note that these bounds are - inclusive. The class also provides functions for modifying the regions in a variety of ways. - - \Note The dimensions of a region can be measured either in voxels or in cells. See the manual for more information - about these definitions. - */ + /// Represents a part of a Volume. + //////////////////////////////////////////////////////////////////////////////// + /// Many operations in PolyVox are constrained to only part of a volume. For example, when running the surface extractors + /// it is unlikely that you will want to run it on the whole volume at once, as this will give a very large mesh which may + /// be too much to render. Instead you will probably want to run a surface extractor a number of times on different parts + /// of the volume, there by giving a number of meshes which can be culled and rendered seperately. + /// + /// The Region class is used to define these parts (regions) of the volume. Essentially it consists of an upper and lower + /// bound which specify the range of voxels positions considered to be part of the region. Note that these bounds are + /// inclusive. + /// + /// As well as the expected set of getters and setters, this class also provide utility functions for increasing and decresing + /// the size of the Region, shifting the Region in 3D space, testing whether it contains a given position, enlarging it so that + /// it does contain a given position, croppng it to another Region, and various other utility functions. + /// + /// \Note The dimensions of a region can be measured either in voxels or in cells. See the manual for more information + /// about these definitions. + /// + //////////////////////////////////////////////////////////////////////////////// #ifdef SWIG class Region #else @@ -167,7 +171,7 @@ namespace PolyVox /// Tests whether all components of the upper corner are at least /// as great as the corresponding components of the lower corner. - bool isValid(void); + bool isValid(void) const; /// Moves the Region by the amount specified. void shift(int32_t iAmountX, int32_t iAmountY, int32_t iAmountZ); diff --git a/library/PolyVoxCore/source/Region.cpp b/library/PolyVoxCore/source/Region.cpp index c736999b..ea79ced2 100644 --- a/library/PolyVoxCore/source/Region.cpp +++ b/library/PolyVoxCore/source/Region.cpp @@ -376,7 +376,7 @@ namespace PolyVox //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// - bool Region::isValid(void) + bool Region::isValid(void) const { return (m_iUpperX >= m_iLowerX) && (m_iUpperY >= m_iLowerY) && (m_iUpperZ >= m_iLowerZ); }