Click here to Skip to main content
15,881,882 members
Articles / Desktop Programming / MFC

The Diffraction Grating Calculator

Rate me:
Please Sign up or sign in to vote.
4.40/5 (5 votes)
30 Oct 2010GPL38 min read 41.3K   678   6  
An MFC Windows program related to Concave Diffraction Gratings using VTK libraries.
// The Boolean Attribute

#if !defined(ATTRIBUTE_BOOL_H)
#define ATTRIBUTE_BOOL_H

#if _MSC_VER > 1000
#pragma warning (disable: 4786)
#pragma warning (disable: 4748)
#pragma warning (disable: 4103)
#endif /* _MSC_VER > 1000 */

#include "attribute_generic.h"

class CAttribute_Bool : public CAttribute_Generic 
{
public:
	CAttribute_Bool(bool bVal,int index);
	virtual ~CAttribute_Bool();
	
	virtual void Get_Boolean(bool& bVal);
	virtual void Set_Boolean(bool& bVal);
	virtual void Get_tmp_Boolean(bool& bVal);
	virtual void Set_tmp_Boolean(bool& bVal);

	virtual void Get_BooleanMFC(BOOL& bVal);
	virtual void Set_BooleanMFC(BOOL& bVal);
	virtual void Get_tmp_BooleanMFC(BOOL& bVal);
	virtual void Set_tmp_BooleanMFC(BOOL& bVal);

	virtual void Get_Value_Str(CString& szDummy);
   virtual void Get_Value_Str_tmp(CString& szDummy);

	// implicit conversion
	virtual void Get_int(int& nDummy);
	virtual void Get_tmp_int(int& nDummy);
	virtual void Set_int(int& nDummy);
	virtual void Set_tmp_int(int& nDummy);

	virtual void Get_Time(__time64_t& nDummy) {};
	virtual void Get_tmp_Time(__time64_t& nDummy) {};
	virtual void Set_Time(__time64_t& nDummy) {};
	virtual void Set_tmp_Time(__time64_t& nDummy) {};

	virtual void Get_String(CString& szDummy) {};
	virtual void Get_tmp_String(CString& szDummy) {};
	virtual void Set_String(CString& szDummy) {};
	virtual void Set_tmp_String(CString& szDummy) {};

	virtual void Get_DBTime(TIMESTAMP_STRUCT& tStamp) {IDC_ATTR_DEF_DBTIME(tStamp)};
	virtual void Get_tmp_DBTime(TIMESTAMP_STRUCT& tStamp) {IDC_ATTR_DEF_DBTIME(tStamp)};
	virtual void Set_DBTime(TIMESTAMP_STRUCT& tStamp) {};
	virtual void Set_tmp_DBTime(TIMESTAMP_STRUCT& tStamp) {};

	virtual void Get_int64(UINT64& nDummy) {};
	virtual void Get_tmp_int64(UINT64& nDummy) {};
	virtual void Set_int64(UINT64& nDummy) {};
	virtual void Set_tmp_int64(UINT64& nDummy) {};

	virtual void SetAttributeCast(CString& szDummy);
	virtual void SetTmpAttributeCast(CString& szDummy);

	virtual bool IsValueTmpIdentical();
	virtual BOOL IsValueTmpIdenticalMFC();
	virtual void Empty_Value (bool ori);

   virtual void Set_Pointer(void* value) {};
   virtual void Get_Pointer(void*& pret) { pret = value; };
   virtual void Set_tmp_Pointer(void* value) {};
   virtual void Get_tmp_Pointer(void*& pret) { pret = value_tmp; };

	virtual void Set_Double(double& dVal) {};
	virtual void Get_Double(double& dVal) {};
	virtual void Set_tmp_Double(double& dVal) {};
	virtual void Get_tmp_Double(double& dVal) {};

	virtual void GetAttributeBinData(BIN_KIND_TYPE& bType,BIN_KIND_SIZE& bSize,void*& pAttribute);
	virtual void SetAttributeBinData(BIN_KIND_TYPE  bType,BIN_KIND_SIZE  bSize,void* pAttribute);

private:
	/* Attribute value */
	BOOL* value;
	/* Attribute tmp value */
	BOOL* value_tmp;
};

#endif // !defined(ATTRIBUTE_BOOL_H)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer (Senior)
Italy Italy
Senior Software Developer in C/C++ and Oracle.
Ex-physicist holding a Ph.D. on x-ray lasers.

Comments and Discussions