diff --git a/Core/Algorithms/src/Experiment.cpp b/Core/Algorithms/src/Experiment.cpp index 38ede4bfbcae8b58c9d1b9fdda30892fefa244d3..c8d6e65fd0127f919b6fc1d1ead0e35e37e479f8 100644 --- a/Core/Algorithms/src/Experiment.cpp +++ b/Core/Algorithms/src/Experiment.cpp @@ -11,7 +11,7 @@ Experiment::Experiment() init_parameters(); } -Experiment::Experiment(const Experiment &other) : IParameterized(other) +Experiment::Experiment(const Experiment &other) : IParameterized(other), ICloneable() , mp_sample(0) , mp_sample_builder(0) , m_is_normalized(false) diff --git a/Core/PythonAPI/inc/IDecoration.pypp.h b/Core/PythonAPI/inc/IDecoration.pypp.h new file mode 100644 index 0000000000000000000000000000000000000000..833c9f470bd6389ad9eb270e135ee3f5a7ac0dad --- /dev/null +++ b/Core/PythonAPI/inc/IDecoration.pypp.h @@ -0,0 +1,8 @@ +// This file has been generated by Py++. + +#ifndef IDecoration_hpp__pyplusplus_wrapper +#define IDecoration_hpp__pyplusplus_wrapper + +void register_IDecoration_class(); + +#endif//IDecoration_hpp__pyplusplus_wrapper diff --git a/Core/PythonAPI/src/IDecoration.pypp.cpp b/Core/PythonAPI/src/IDecoration.pypp.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5d087b5af67278586b7cf797de522305e09b3ca7 --- /dev/null +++ b/Core/PythonAPI/src/IDecoration.pypp.cpp @@ -0,0 +1,254 @@ +// This file has been generated by Py++. + +#include "Macros.h" +GCC_DIAG_OFF(unused-parameter); +GCC_DIAG_OFF(missing-field-initializers); +#include "boost/python.hpp" +#include "boost/python/suite/indexing/vector_indexing_suite.hpp" +GCC_DIAG_ON(unused-parameter); +GCC_DIAG_ON(missing-field-initializers); +#include "BasicVector3D.h" +#include "Experiment.h" +#include "FormFactorCrystal.h" +#include "FormFactorCylinder.h" +#include "FormFactorDecoratorDebyeWaller.h" +#include "FormFactorFullSphere.h" +#include "FormFactorGauss.h" +#include "FormFactorLorentz.h" +#include "FormFactorPrism3.h" +#include "FormFactorPyramid.h" +#include "FormFactorSphereGaussianRadius.h" +#include "GISASExperiment.h" +#include "HomogeneousMaterial.h" +#include "ICloneable.h" +#include "IClusteredParticles.h" +#include "ICompositeSample.h" +#include "IDecoration.h" +#include "IFormFactor.h" +#include "IFormFactorBorn.h" +#include "IFormFactorDecorator.h" +#include "IInterferenceFunction.h" +#include "InterferenceFunctionNone.h" +#include "InterferenceFunction1DParaCrystal.h" +#include "IMaterial.h" +#include "IParameterized.h" +#include "ISample.h" +#include "ISampleBuilder.h" +#include "ISelectionRule.h" +#include "ISingleton.h" +#include "Lattice.h" +#include "LatticeBasis.h" +#include "Layer.h" +#include "LayerDecorator.h" +#include "LayerRoughness.h" +#include "MaterialManager.h" +#include "MesoCrystal.h" +#include "MultiLayer.h" +#include "Particle.h" +#include "Crystal.h" +#include "ParticleDecoration.h" +#include "OpticalFresnel.h" +#include "ParameterPool.h" +#include "ParticleInfo.h" +#include "DiffuseParticleInfo.h" +#include "PythonOutputData.h" +#include "PythonPlusplusHelper.h" +#include "RealParameterWrapper.h" +#include "Transform3D.h" +#include "Units.h" +#include "Types.h" +#include "IDecoration.pypp.h" + +namespace bp = boost::python; + +struct IDecoration_wrapper : IDecoration, bp::wrapper< IDecoration > { + + IDecoration_wrapper( ) + : IDecoration( ) + , bp::wrapper< IDecoration >(){ + // null constructor + + } + + virtual ::IDecoration * clone( ) const { + bp::override func_clone = this->get_override( "clone" ); + return func_clone( ); + } + + virtual ::IInterferenceFunctionStrategy * createStrategy( ::std::vector< IFormFactor* > const & form_factors ) const { + bp::override func_createStrategy = this->get_override( "createStrategy" ); + return func_createStrategy( boost::ref(form_factors) ); + } + + virtual ::size_t getNumberOfParticles( ) const { + bp::override func_getNumberOfParticles = this->get_override( "getNumberOfParticles" ); + return func_getNumberOfParticles( ); + } + + virtual ::ParticleInfo const * getParticleInfo( ::size_t index ) const { + bp::override func_getParticleInfo = this->get_override( "getParticleInfo" ); + return func_getParticleInfo( index ); + } + + virtual bool areParametersChanged( ) { + if( bp::override func_areParametersChanged = this->get_override( "areParametersChanged" ) ) + return func_areParametersChanged( ); + else{ + return this->IParameterized::areParametersChanged( ); + } + } + + bool default_areParametersChanged( ) { + return IParameterized::areParametersChanged( ); + } + + virtual ::ParameterPool * createParameterTree( ) const { + if( bp::override func_createParameterTree = this->get_override( "createParameterTree" ) ) + return func_createParameterTree( ); + else{ + return this->IParameterized::createParameterTree( ); + } + } + + ::ParameterPool * default_createParameterTree( ) const { + return IParameterized::createParameterTree( ); + } + + virtual ::ICompositeSample * getCompositeSample( ) { + if( bp::override func_getCompositeSample = this->get_override( "getCompositeSample" ) ) + return func_getCompositeSample( ); + else{ + return this->ICompositeSample::getCompositeSample( ); + } + } + + ::ICompositeSample * default_getCompositeSample( ) { + return ICompositeSample::getCompositeSample( ); + } + + virtual ::ICompositeSample const * getCompositeSample( ) const { + if( bp::override func_getCompositeSample = this->get_override( "getCompositeSample" ) ) + return func_getCompositeSample( ); + else{ + return this->ICompositeSample::getCompositeSample( ); + } + } + + ::ICompositeSample const * default_getCompositeSample( ) const { + return ICompositeSample::getCompositeSample( ); + } + + virtual void printParameters( ) const { + if( bp::override func_printParameters = this->get_override( "printParameters" ) ) + func_printParameters( ); + else{ + this->IParameterized::printParameters( ); + } + } + + void default_printParameters( ) const { + IParameterized::printParameters( ); + } + + virtual void print_structure( ) { + if( bp::override func_print_structure = this->get_override( "print_structure" ) ) + func_print_structure( ); + else{ + this->ISample::print_structure( ); + } + } + + void default_print_structure( ) { + ISample::print_structure( ); + } + + virtual void setParametersAreChanged( ) { + if( bp::override func_setParametersAreChanged = this->get_override( "setParametersAreChanged" ) ) + func_setParametersAreChanged( ); + else{ + this->IParameterized::setParametersAreChanged( ); + } + } + + void default_setParametersAreChanged( ) { + IParameterized::setParametersAreChanged( ); + } + + virtual ::size_t size( ) const { + if( bp::override func_size = this->get_override( "size" ) ) + return func_size( ); + else{ + return this->ICompositeSample::size( ); + } + } + + ::size_t default_size( ) const { + return ICompositeSample::size( ); + } + +}; + +void register_IDecoration_class(){ + + bp::class_< IDecoration_wrapper, bp::bases< ICompositeSample >, boost::noncopyable >( "IDecoration", bp::init< >() ) + .def( + "clone" + , bp::pure_virtual( (::IDecoration * ( ::IDecoration::* )( ) const)(&::IDecoration::clone) ) + , bp::return_value_policy< bp::manage_new_object >() ) + .def( + "createStrategy" + , bp::pure_virtual( (::IInterferenceFunctionStrategy * ( ::IDecoration::* )( ::std::vector< IFormFactor* > const & ) const)(&::IDecoration::createStrategy) ) + , ( bp::arg("form_factors") ) + , bp::return_value_policy< bp::manage_new_object >() ) + .def( + "getNumberOfParticles" + , bp::pure_virtual( (::size_t ( ::IDecoration::* )( ) const)(&::IDecoration::getNumberOfParticles) ) ) + .def( + "getParticleInfo" + , bp::pure_virtual( (::ParticleInfo const * ( ::IDecoration::* )( ::size_t ) const)(&::IDecoration::getParticleInfo) ) + , ( bp::arg("index") ) + , bp::return_value_policy< bp::reference_existing_object >() ) + .def( + "getTotalParticleSurfaceDensity" + , (double ( ::IDecoration::* )( ) const)( &::IDecoration::getTotalParticleSurfaceDensity ) ) + .def( + "setTotalParticleSurfaceDensity" + , (void ( ::IDecoration::* )( double ) )( &::IDecoration::setTotalParticleSurfaceDensity ) + , ( bp::arg("surface_density") ) ) + .def( + "areParametersChanged" + , (bool ( ::IParameterized::* )( ) )(&::IParameterized::areParametersChanged) + , (bool ( IDecoration_wrapper::* )( ) )(&IDecoration_wrapper::default_areParametersChanged) ) + .def( + "createParameterTree" + , (::ParameterPool * ( ::IParameterized::* )( ) const)(&::IParameterized::createParameterTree) + , (::ParameterPool * ( IDecoration_wrapper::* )( ) const)(&IDecoration_wrapper::default_createParameterTree) + , bp::return_value_policy< bp::manage_new_object >() ) + .def( + "getCompositeSample" + , (::ICompositeSample * ( ::ICompositeSample::* )( ) )(&::ICompositeSample::getCompositeSample) + , (::ICompositeSample * ( IDecoration_wrapper::* )( ) )(&IDecoration_wrapper::default_getCompositeSample) + , bp::return_value_policy< bp::reference_existing_object >() ) + .def( + "getCompositeSample" + , (::ICompositeSample const * ( ::ICompositeSample::* )( ) const)(&::ICompositeSample::getCompositeSample) + , (::ICompositeSample const * ( IDecoration_wrapper::* )( ) const)(&IDecoration_wrapper::default_getCompositeSample) + , bp::return_value_policy< bp::reference_existing_object >() ) + .def( + "printParameters" + , (void ( ::IParameterized::* )( ) const)(&::IParameterized::printParameters) + , (void ( IDecoration_wrapper::* )( ) const)(&IDecoration_wrapper::default_printParameters) ) + .def( + "print_structure" + , (void ( ::ISample::* )( ) )(&::ISample::print_structure) + , (void ( IDecoration_wrapper::* )( ) )(&IDecoration_wrapper::default_print_structure) ) + .def( + "setParametersAreChanged" + , (void ( ::IParameterized::* )( ) )(&::IParameterized::setParametersAreChanged) + , (void ( IDecoration_wrapper::* )( ) )(&IDecoration_wrapper::default_setParametersAreChanged) ) + .def( + "size" + , (::size_t ( ::ICompositeSample::* )( ) const)(&::ICompositeSample::size) + , (::size_t ( IDecoration_wrapper::* )( ) const)(&IDecoration_wrapper::default_size) ); + +} diff --git a/Core/Tools/src/ParameterPool.cpp b/Core/Tools/src/ParameterPool.cpp index 112234b8b165807ff9a8418ad922dccbac1901da..704ff2fa1e80a6945f61ecb6edf7029a36755c3d 100644 --- a/Core/Tools/src/ParameterPool.cpp +++ b/Core/Tools/src/ParameterPool.cpp @@ -165,7 +165,7 @@ int ParameterPool::setMatchedParametersValue(const std::string &wildcards, doubl /* ************************************************************************* */ void ParameterPool::print(std::ostream &ostr) const { - const int number_of_pars_in_line(4); + const size_t number_of_pars_in_line(4); if( m_map.size() ) { // printing in one line if(m_map.size() < number_of_pars_in_line) { diff --git a/Tests/UnitTests/TestCore/TestCore b/Tests/UnitTests/TestCore/TestCore index 4586bdfc98205864be5e87deb9ed9583c63d6c89..df121322af315d29a8359e4742bc24a05f97e136 100755 Binary files a/Tests/UnitTests/TestCore/TestCore and b/Tests/UnitTests/TestCore/TestCore differ diff --git a/shared.pri b/shared.pri index c5199e9c5e9ca2a49783b7135bc04ca8aa29ecc1..aff348993cbe198e7f2459cff75f64eafd8e4073 100644 --- a/shared.pri +++ b/shared.pri @@ -116,6 +116,11 @@ CONFIG(GPERFTOOLS) { LIBS += -L/opt/local/lib -lprofiler -ltcmalloc } +CONFIG+=PEDANTIC +CONFIG(PEDANTIC) { + QMAKE_CXXFLAGS_RELEASE += -Weffc++ + QMAKE_CXXFLAGS_DEBUG += -Weffc++ +} # hints