⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mocadataset.h

📁 图像处理的压缩算法
💻 H
📖 第 1 页 / 共 2 页
字号:
	/// ML 8/8/2003 QA70-4980 MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
	BOOL			m_bNoMarkerUse;
	/// end MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC

public:

	void		set_redraw_mode(int nMode);

	enum {
		REDRAW_NONE, // should always be first
		REDRAW_REALTIME, REDRAW_REALTIME_WKS, REDRAW_REFRESH, REDRAW_REALTIME_SCOPE,
		REDRAW_MODE_INVALID // should always be last
	};
	
	enum {REALTIME_ON_IDLE=0x1000}; ///---- CPY v5.039 b3558 REALTIME_DRAW_BUFFERRING


	/// TD 5-16-01	MORE_ACCURATE_DATA_ACCESS_TO_ORIGINC
	static LPFNElemVal m_lpfnGetElemVal;
	static LPFNDataMask m_lpfnDataMask;
	/// end MORE_ACCURATE_DATA_ACCESS_TO_ORIGINC

	/// YuI 8/30/02 v7.0387 QA70-2841 LINKS_MANAGER_FOR_OBJECTS
	//	//LY	12/14/01 t9798 SERIESPTR_MANAGER
	//	BOOL		InvalidateObj();
	//	//end t9798 SERIESPTR_MANAGER
	virtual BOOL	InvalidateObj(LPVOID pObject);
	/// end LINKS_MANAGER_FOR_OBJECTS
	
	/// YuI 12/31/02 QA70-3592 v7.0477 ORIGIN_C_AND_INTERNAL_DATA_PROTECTION
	BOOL			IsWriteProtected();
	/// end ORIGIN_C_AND_INTERNAL_DATA_PROTECTION
	/// TD 11-6-03 QAx70-5481 PARTIAL_DETACH_MOCA_ON_TYPE_CANGE
	virtual BOOL		OnLHMessage(UINT nMsg, LPVOID pObject, WPARAM wParam = 0, LPARAM lParam = 0);
	/// TD 11-14-03 QA70-5516 ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET 
	//bool				SetObjectToDetachOnTypeChange(bool bSet = true);
	//bool				ISObjectToDetachOnTypeChange();
	MOCAObj*			SetReDirectOnElementSize(MOCAObj *pObj = NULL);
	bool				IsDirectOnElementSize();
	/// end ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET 

private:

	/// TD 11-14-03 QA70-5516 ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET 
	//bool	m_bDetach;
	MOCAObj		*m_pObj;
	/// end ALLOW_MIXED_TO_DOUBLE_SWITCH_FOR_DATASET 
	/// end PARTIAL_DETACH_MOCA_ON_TYPE_CANGE
};
typedef MoData *MoDataPtr;

const MoData	operator+(double, MoData &);
const MoData	operator-(double, MoData &);
const MoData	operator*(double, MoData &);
const MoData	operator/(double, MoData &);

#define REDRAW_MODE_MASK		0x000F // enough for 15 modes
#define IS_REDRAW_MODE(nMode) (REDRAW_NONE <= ((nMode) & REDRAW_MODE_MASK) && ((nMode) & REDRAW_MODE_MASK) < REDRAW_MODE_INVALID)




class lrclass
{
public:
    lrclass();
    lrclass(double new_value);
    lrclass(const lrclass & Original);                                        
	static		double				value;
	static		long				index;
	static		BOOL				bSetValue;

	operator	double ();    
};



/////////////////////////////////////////////////////////////////////////////
//
//	MoSourceData	: independent datasets, invalid if name not supplied, operation abort if not supplied
//
/////////////////////////////////////////////////////////////////////////////
	
class MoSourceData : public MoData
{

public:

	MoSourceData(LPCSTR name);
	MoSourceData(int type, LPCSTR name);
	MoSourceData(MoOriginWks &wks, MOCOLNUM iCol);
	MoSourceData(MoOriginWks &wks, LPCSTR lpszColumnName);
	MoSourceData(LPCSTR wksname, LPCSTR lpColumnName);
	MoSourceData(LPCSTR wksname, int nCol); ///  MoColumnNum is 1,2,3,...
	/// TD 6-5-01  MODATA_FROM_MODATAID
	MoSourceData(MODATAID mdID);
	/// end TD 6-5-01  MODATA_FROM_MODATAID
	/// ML 8/8/2003 QA70-4980 MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC
	MoSourceData(MoData::InitInfo &initinfo);
	/// end MUST_NOT_USE_WKSSELECTION_FOR_DATASET_OBJECTS_IN_ORIGINC

};
typedef MoSourceData * MoSourceDataPtr;


/////////////////////////////////////////////////////////////////////////////
//
//	MoInterimData	: independent datasets, name may not be supplied, operation continues
//
/////////////////////////////////////////////////////////////////////////////
	
class MoInterimData : public MoData
{ 
 
public:

	MoInterimData(LPCSTR name);
	MoInterimData(int type, LPCSTR name);
	MoInterimData	&	operator = (const MoData &x); 
	MoInterimData & operator=(const double x);
};

/////////////////////////////////////////////////////////////////////////////
//
//	MoResultData	: independent datasets, name may not be supplied
//
/////////////////////////////////////////////////////////////////////////////
	
class MoResultData : public MoData
{
      
public:

	MoResultData(LPCSTR name);
	MoResultData(int type, LPCSTR name);
	MoResultData(LPCSTR wksname, LPCSTR lpColumnName);
	MoResultData(LPCSTR wksname, int iCol);
	MoResultData(MoOriginWksPtr pwks, int iCol);
	MoResultData(MoOriginWks &wks, int iCol);
	MoResultData(MoOriginWks &wks, LPCSTR lpszColumnName);


	MoResultData	&	operator =	(const MoData &x); 
	MoResultData	&	operator =	(const double x);
};
typedef MoResultData * MoResultDataPtr;


/////////////////////////////////////////////////////////////////////////////
//
//	MoTempData	: independent datasets, no name, just supply range
//
/////////////////////////////////////////////////////////////////////////////
	
class MoTempData : public MoData
{     
     
public:
	MoTempData(long npts);
	~MoTempData();
};

// Origin Dataset class when not attached to real Origin data
class MoTempDataset : public MoData
{
public:
	/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
	////-------- CPY 8/11/01 v6.9069 TEMP_DATASET_USE_NORMAL_NAME
	////MoTempDataset(long i1,  long i2);
	//MoTempDataset(UINT i1,  UINT i2);
	////--------
	MoTempDataset(UINT i1,  UINT i2, BOOL bKillOnDestroy = TRUE);
	/// end METHOD_CRATE_FOR_ODATA_TYPES
	MoTempDataset(MoData& modata);/// TD 8-24-01 NEW_TEMPORARY_CURVE_CLASS

	~MoTempDataset();

	MoData	&	operator = (MoSourceData &x);

	/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
public:

	BOOL SetDataToXValOfAnotherData(MODATAID mdAnotherData);
	/// end TEMP_CURVE_FROM_YDATA_VALUE
};

/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
#ifdef		__EXTENDED_CURVE_CLASS_WITH_RELATED__
class ORelatedDatasets
{
public:
	ORelatedDatasets();
	~ORelatedDatasets();

public:
	MoData		*Add(UINT nType, MODATAID nID);
	BOOL		RemoveByType(UINT nType);
	BOOL		RemoveByID(MODATAID nID);
	void		RemoveAll();
	MoData		*GetFromType(UINT nType);
	MoData		*GetFromID(MODATAID nID, PUINT pnType = NULL);
	int			GetSeriesInfo(CArray<OSERIESTAG, OSERIESTAG&> &arrRelated);
	int			InitForSeries(MOCAOrigin *p, MODATAID dwID);

private:
	int			GetIndexFromType(UINT nType);
	int			GetIndexFromID(MODATAID nID);
	int			RemoveByIndex(int ii);


private:

	struct ONERELATED
	{
		UINT	nType;		// EXTCURVEREL_* enumeration 
		MoData	*pMoData;
	};

	CArray<ONERELATED, ONERELATED&>		m_data;
};
#endif		// __EXTENDED_CURVE_CLASS_WITH_RELATED__
/// end CURVE_EXTENSION_WITH_RELATED_DATASETS



/// TD 6-18-01 MOCURVE_DERIVED_FROM_MODATA
class MoCurve : public MoData
{
public:
	MoCurve(LPCSTR lpszDXName, LPCSTR lpszDYName);/// create dependency		
	MoCurve(LPCSTR lpszDYName);/// Use it's x-dependancy	
	MoCurve(MoData &YData);/// Use it's x-dependancy	
	MoCurve(MoData &XData, MoData &YData);/// create dependency	
	MoCurve(MODATAID mdXID, MODATAID mdYID);/// TD 1-2-01 QA70-239 CURVE_CONSTRUCTION_FROM_WORKEHSEET_OBJECT
	MoCurve(MODATAID mdYID);	/// AW 06/06/02 QA70-1988 CONSTRUCT_FROM_DATAPLOT
	MoCurve();/// TD 3-11-02 MEM_LEAKS_IN_MOCURVE
	~MoCurve();

public:

	virtual BOOL CreateDependency(MoData& XData);
	BOOL CreateDependency(LPCSTR lpcszDatasetName);
	BOOL CreateDependency(MODATAID mdXID);/// TD 1-2-01 QA70-239 CURVE_CONSTRUCTION_FROM_WORKEHSEET_OBJECT
	MoData*	GetDependency();
	BOOL	IsValid() const;
	//------- CPY 6/25/03 QA70-4712 v7.0610 CURVEBASE_HAS_X_SHOULD_RET_DATASET_NAME
	//BOOL	HasX(); /// TD 7-31-01 NO_XDEPENDENCY_ONLY_Y_IS_VALID
	BOOL	HasX(CString* pstrXname = NULL);
	//------- end CURVEBASE_HAS_X_SHOULD_RET_DATASET_NAME
	BOOL	Sort(DWORD dwFlags);//---------------------------- CPY 8/6/01 t8777 CURVE_SORT
	/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
	int Trim(bool bLeft, DWORD dwFlag);
	/// end TEMP_CURVE_FROM_YDATA_VALUE
	/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
	#ifdef		__EXTENDED_CURVE_CLASS_WITH_RELATED__
	MoData		*GetRelatedFromType(UINT nType);
	MoData		*GetRelatedFromID(MODATAID nID, PUINT pnType = NULL);
	MoData		*AddRelated(UINT nType, MODATAID nID);
	int			InitRelated();
	#endif		// __EXTENDED_CURVE_CLASS_WITH_RELATED__
	/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
	
	/// YuI 5/05/03 v7.0578 QA70-4357 CURVE_AS_INPUT_OF_OPERATION
	virtual int		GetInfo(LPVOID lpInfo, DWORD dwMsg, DWORD dwMoreInfo = 0UL);
	/// end CURVE_AS_INPUT_OF_OPERATION
protected:

	MoCurve(UINT i1,  UINT i2, DWORD dwCntrl = 0): MoData(i1, i2, dwCntrl){Init_Data();}	//TD 10-11-02
	//----------- CPY 6/21/01 CURVE_OBJ_NEEDS_READ_PLOT_INFO
	//Inline
	//void Init_Data(){m_pXData = NULL;}
	void Init_Data();
	MODATAID	m_dwOldXID;
	//----------- end CPY 6/21/01

	MoData*		m_pXData;

	char		m_bIsXChanged; //---- CPY 8/6/01 t8777 CURVE_SORT
	
	BOOL		DataOriginSetXforY(DWORD dwXID);	//CPY 4/16/03 QA70-4601 v7.0564 OC_ADD_PLOT_KEEP_CURVE_X

	/// ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS
	#ifdef		__EXTENDED_CURVE_CLASS_WITH_RELATED__
	ORelatedDatasets	m_related;
	#endif		// __EXTENDED_CURVE_CLASS_WITH_RELATED__
	/// end CURVE_EXTENSION_WITH_RELATED_DATASETS
};

/// end MOCURVE_DERIVED_FROM_MODATA

/// ----------------TD 8-24-01 NEW_TEMPORARY_CURVE_CLASS
class MoTempCurve : public MoCurve
{
public:
	/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
	//MoTempCurve(UINT i1,  UINT i2);
	MoTempCurve(UINT i1,  UINT i2, BOOL bKillOnDestroy = TRUE);
	/// end METHOD_CRATE_FOR_ODATA_TYPES
	MoTempCurve( MoData * pdata );
	MoTempCurve(MoCurve& mocurve);
	MoTempCurve(MoData & pModata);	//Given a tem data/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE
	/// TD 3-11-02 TEMP_CURVE_FROM_TWO_DATA_NEVER_DELETES_THE_SERIES_PTR
	MoTempCurve(MoData & mdCopyThis, MoData * pmdAttachThis);
	/// endTEMP_CURVE_FROM_TWO_DATA_NEVER_DELETES_THE_SERIES_PTR
	~MoTempCurve();

public:

	BOOL CreateDependency(MoData& XData);
	virtual	int		clean_itself();/// TD 1-25-02 t9891 t6.9192 METHOD_CRATE_FOR_ODATA_TYPES
	void CreatetempXData(MoData * pModata);/// TD 3-7-02 QA70-1082 v7.0237 TEMP_CURVE_FROM_YDATA_VALUE

};
/// ---------------- end NEW_TEMPORARY_CURVE_CLASS


/// TD 10-29-01	CATEGORICAL_DATA
class MoCategoricalData : public MoData
{
public:
	MoCategoricalData(LPCSTR lpszDSN, UINT nType);		
	MoCategoricalData(LPCSTR lpszWks, UINT nCol, UINT nType);		
	~MoCategoricalData();

public:

	/// YuI 9/16/03 v7.5696 QA70-5184 CATEGORICAL_MAP_OC_COOKIE
	//	LPVOID	GetCatMap();
	LPVOID	GetCatMap(BOOL bDoNotCreate = FALSE);
	/// end CATEGORICAL_MAP_OC_COOKIE
	BOOL	IsValid() const;

protected:

	void Init_Data(UINT nCMType);

private:

	/// YuI 9/16/03 v7.5696 QA70-5184 CATEGORICAL_MAP_OC_COOKIE
	//	LPVOID  m_pMap;
	/// end CATEGORICAL_MAP_OC_COOKIE
	DWORD	m_dwWCBData[4];	//[0]Sub WCB Msg(CM_SUBWCB_SETNEW_SAVEOLD, CM_SUBWCB_GETMAP, CM_SUBWCB_RESET_TO_OLD) defined in Orgdll.h
							//[1]Type of Catagorical dataset (Nominal, Ordinal)
							//[2]Type before construction(Nominal, Ordinal, NULL)
							//[3]LPVOID If Older type was different and Not null store the Map for reset

};
///	end CATEGORICAL_DATA

#endif /// _MOCADATASET_H

⌨️ 快捷键说明

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