From 298fb951b0ee92b58e882fad8a37c8bb84d91afc Mon Sep 17 00:00:00 2001 From: Daviw Williams Date: Fri, 14 Dec 2012 15:38:02 +0100 Subject: [PATCH] Documentation style update for KDE/Kate. --- .../DefaultMarchingCubesController.h | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/library/PolyVoxCore/include/PolyVoxCore/DefaultMarchingCubesController.h b/library/PolyVoxCore/include/PolyVoxCore/DefaultMarchingCubesController.h index 2c958e91..8e9b709f 100644 --- a/library/PolyVoxCore/include/PolyVoxCore/DefaultMarchingCubesController.h +++ b/library/PolyVoxCore/include/PolyVoxCore/DefaultMarchingCubesController.h @@ -30,34 +30,34 @@ freely, subject to the following restrictions: namespace PolyVox { - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// This class provides a default implementation of a controller for the MarchingCubesSurfaceExtractor. It controls the behaviour of the - /// MarchingCubesSurfaceExtractor and provides the required properties from the underlying voxel type. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// PolyVox does not enforce any requirements regarding what data must be present in a voxel, and instead allows any primitive or user-defined - /// type to be used. However, the Marching Cubes algorithm does have some requirents about the underlying data in that conceptually it operates - /// on a density field. In addition, the PolyVox implementation of the Marching Cubes algorithm also understands the idea of each voxel - /// having a material which is copied into the vertex data. - /// - /// Because we want the MarchingCubesSurfaceExtractor to work on any voxel type, we use a Marching Cubes controller (passed as - /// a parameter of the MarchingCubesSurfaceExtractor) to expose the required properties. This parameter defaults to the DefaultMarchingCubesController. - /// The main implementation of this class is designed to work with primitives data types, and the class is also specialised for the Material, - /// Density and MaterialdensityPair classes. - /// - /// If you create a custom class for your voxel data then you probably want to include a specialisation of DefaultMarchingCubesController, - /// though you don't have to if you don't want to use the Marching Cubes algorithm or if you prefer to define a seperate Marching Cubes controller - /// and pass it as an explicit parameter (rather than relying on the default). - /// - /// For primitive types, the DefaultMarchingCubesController considers the value of the voxel to represent it's density and just returns a constant - /// for the material. So you can, for example, run the MarchingCubesSurfaceExtractor on a volume of floats or ints. - /// - /// It is possible to customise the behaviour of the controller by providing a threshold value through the constructor. The extracted surface - /// will pass through the density value specified by the threshold, and so you should make sure that the threshold value you choose is between - /// the minimum and maximum values found in your volume data. By default it is in the middle of the representable range of the underlying type. - /// - /// \sa MarchingCubesSurfaceExtractor - /// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /** + * This class provides a default implementation of a controller for the MarchingCubesSurfaceExtractor. It controls the behaviour of the + * MarchingCubesSurfaceExtractor and provides the required properties from the underlying voxel type. + * + * PolyVox does not enforce any requirements regarding what data must be present in a voxel, and instead allows any primitive or user-defined + * type to be used. However, the Marching Cubes algorithm does have some requirents about the underlying data in that conceptually it operates + * on a density field. In addition, the PolyVox implementation of the Marching Cubes algorithm also understands the idea of each voxel + * having a material which is copied into the vertex data. + * + * Because we want the MarchingCubesSurfaceExtractor to work on any voxel type, we use a Marching Cubes controller (passed as + * a parameter of the MarchingCubesSurfaceExtractor) to expose the required properties. This parameter defaults to the DefaultMarchingCubesController. + * The main implementation of this class is designed to work with primitives data types, and the class is also specialised for the Material, + * Density and MaterialdensityPair classes. + * + * If you create a custom class for your voxel data then you probably want to include a specialisation of DefaultMarchingCubesController, + * though you don't have to if you don't want to use the Marching Cubes algorithm or if you prefer to define a seperate Marching Cubes controller + * and pass it as an explicit parameter (rather than relying on the default). + * + * For primitive types, the DefaultMarchingCubesController considers the value of the voxel to represent it's density and just returns a constant + * for the material. So you can, for example, run the MarchingCubesSurfaceExtractor on a volume of floats or ints. + * + * It is possible to customise the behaviour of the controller by providing a threshold value through the constructor. The extracted surface + * will pass through the density value specified by the threshold, and so you should make sure that the threshold value you choose is between + * the minimum and maximum values found in your volume data. By default it is in the middle of the representable range of the underlying type. + * + * \sa MarchingCubesSurfaceExtractor + * + */ template class DefaultMarchingCubesController { @@ -69,13 +69,13 @@ namespace PolyVox /// but this is not really desirable on modern hardware. We'll probably come back to material representation in the future. typedef float MaterialType; - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// Constructor - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// This version of the constructor takes no parameters and sets the threshold to the middle of the representable range of the underlying type. - /// For example, if the voxel type is 'uint8_t' then the representable range is 0-255, and the threshold will be set to 127. On the other hand, - /// if the voxel type is 'float' then the representable range is -FLT_MAX to FLT_MAX and the threshold will be set to zero. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /** + * Constructor + * + * This version of the constructor takes no parameters and sets the threshold to the middle of the representable range of the underlying type. + * For example, if the voxel type is 'uint8_t' then the representable range is 0-255, and the threshold will be set to 127. On the other hand, + * if the voxel type is 'float' then the representable range is -FLT_MAX to FLT_MAX and the threshold will be set to zero. + */ DefaultMarchingCubesController(void) :m_tThreshold(((std::numeric_limits::min)() + (std::numeric_limits::max)()) / 2) ,m_eWrapMode(WrapModes::Border) @@ -83,23 +83,23 @@ namespace PolyVox { } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// Converts the underlying voxel type into a density value. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// The default implementation of this function just returns the voxel type directly and is suitable for primitives types. Specialisations of - /// this class can modify this behaviour. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /** + * Converts the underlying voxel type into a density value. + * + * The default implementation of this function just returns the voxel type directly and is suitable for primitives types. Specialisations of + * this class can modify this behaviour. + */ DensityType convertToDensity(VoxelType voxel) { return voxel; } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// Converts the underlying voxel type into a material value. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// The default implementation of this function just returns the constant '1'. There's not much else it can do, as it needs to work with primitive - /// types and the actual value of the type is already being considered to be the density. Specialisations of this class can modify this behaviour. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /** + * Converts the underlying voxel type into a material value. + * + * The default implementation of this function just returns the constant '1'. There's not much else it can do, as it needs to work with primitive + * types and the actual value of the type is already being considered to be the density. Specialisations of this class can modify this behaviour. + */ MaterialType convertToMaterial(VoxelType /*voxel*/) { return 1; @@ -110,13 +110,13 @@ namespace PolyVox return m_tBorder; } - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// Returns the density value which was passed to the constructor. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /// As mentioned in the class description, the extracted surface will pass through the density value specified by the threshold, and so you - /// should make sure that the threshold value you choose is between the minimum and maximum values found in your volume data. By default it - ///is in the middle of the representable range of the underlying type. - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /** + * Returns the density value which was passed to the constructor. + * + * As mentioned in the class description, the extracted surface will pass through the density value specified by the threshold, and so you + * should make sure that the threshold value you choose is between the minimum and maximum values found in your volume data. By default it + * is in the middle of the representable range of the underlying type. + */ DensityType getThreshold(void) { return m_tThreshold;