rsesreductshortener.h

来自「ROSETTA C++库是一个C++类库和例程集合」· C头文件 代码 · 共 74 行

H
74
字号
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Revisions.....:
//===================================================================

#ifndef __RSESREDUCTSHORTENER_H__
#define __RSESREDUCTSHORTENER_H__

#include <copyright.h>

#include <kernel/algorithms/reductshortener.h>

//-------------------------------------------------------------------
// Class.........: RSESReductShortener
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Encapsulates and hides code from the RSES library.
// Revisions.....:
//===================================================================

class RSESReductShortener : public ReductShortener {
private:

	//- Parameters.....................................................
  float discernibility_ratio_;

public:

  //- Constructors/destructor........................................
  RSESReductShortener();
  virtual ~RSESReductShortener();

  //- Methods inherited from Identifier..............................
	DECLAREIDMETHODS()

  //- Methods inherited from Algorithm...............................
	virtual String     GetParameters() const;
	virtual bool       SetParameter(const String &keyword, const String &value);
	virtual bool       IsApplicable(const Structure &structure, bool warn = true) const;
  virtual Structure *Apply(Structure &structure) const;

  //- Parameter management...........................................
  bool               SetDiscernibilityRatio(float discernibility_ratio);
  float              GetDiscernibilityRatio() const;

};

//-------------------------------------------------------------------
// Inlined methods.
//===================================================================

inline bool
RSESReductShortener::SetDiscernibilityRatio(float discernibility_ratio) {

	// Verify input.
	if (discernibility_ratio > 1.0)
		discernibility_ratio_ = 1.0;
	else if (discernibility_ratio < 0.0)
		discernibility_ratio_ = 0.0;
	else
		discernibility_ratio_ = discernibility_ratio;

	return true;

}

inline float
RSESReductShortener::GetDiscernibilityRatio() const {
  return discernibility_ratio_;
}

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?