Qwt原始碼解讀之QwtInterval 類

2021-07-16 08:41:29 字數 2683 閱讀 5105

qwtinterval 類表徵乙個區間,這個區間由兩個double型別的上限值max和下限值min所表示。它可以表示[min, max],[min, max),(min, max]和(min, max) 等4種情況。

**分析:

[cpp]view plain

copy

class

qwt_export qwtinterval  

;  //! border flags

typedef

qflagsborderflags; 

// 是否包含左右邊界的標誌變數

qwtinterval();  

qwtinterval( double

minvalue, 

double

maxvalue,  

borderflags = includeborders );  

void

setinterval( 

double

minvalue, 

double

maxvalue,  

borderflags = includeborders );  

qwtinterval normalized() const

;   

qwtinterval inverted() const

; //  反轉乙個區間

qwtinterval limited( double

minvalue, 

double

maxvalue ) 

const

; // 同 setminvalue(minvalue) & setmaxvalue(maxvalue)

bool

operator==( 

const

qwtinterval & ) 

const

;  bool

operator!=( 

const

qwtinterval & ) 

const

;  void

setborderflags( borderflags );  

borderflags borderflags() const

;  double

minvalue() 

const

;  double

maxvalue() 

const

;  double

width() 

const

; // 返回區間的寬度

void

setminvalue( 

double

);  

void

setmaxvalue( 

double

);  

bool

contains( 

double

value ) 

const

;  bool

intersects( 

const

qwtinterval & ) 

const

; // 測試兩個區間是否有交集!

qwtinterval intersect( const

qwtinterval & ) 

const

; // 取兩個區間的交集

qwtinterval unite( const

qwtinterval & ) 

const

; // 取兩個區間的並集

qwtinterval operator|( const

qwtinterval & ) 

const

;  qwtinterval operator&( const

qwtinterval & ) 

const

;  qwtinterval &operator|=( const

qwtinterval & );  

qwtinterval &operator&=( const

qwtinterval & );  

qwtinterval extend( double

value ) 

const

; //  擴大乙個區間

qwtinterval operator|( double

) const

;  qwtinterval &operator|=( double

);  

bool

isvalid() 

const

;  bool

isnull() 

const

;  void

invalidate(); 

// 使無效(即初始化至初始狀態),乙個好的命名示例,如果是我們寫**,很可能寫成initial(); 

qwtinterval symmetrize( double

value ) 

const

; // 對稱化,使value成為該區間的中心點

private

:  double

d_minvalue;  

double

d_maxvalue;  

borderflags d_borderflags;  

};  

Qwt原始碼解讀之QwtPoint3D類

qwtpoint3d 表徵二維座標系中的乙個三維點 x,y,z 分析 1 類介面定義 class qwt export qwtpoint3d qwtpoint3d類是乙個很簡單的資料類,沒有什麼難點,但是如果要我們自己去定義的話,不一定能寫得如作者這樣完美。例如,1 提供了 isnull 介面。re...

metaq原始碼解讀之FetchManager

fetchmanager 請求管理器介面。既然是管理器,就需要知道管理的物件是什麼?fetchrequest 管理的是一次次的請求。既然是管理器,就需要給被管理者提供容所?fetchrequestqueue 請求delay queue。既然是管理器,就需要有管理實施者?fetchrequestrun...

Opencv 原始碼解讀之 ImageEncoder

imagedecoder類 imagedecoder這個類,這個類其實就是乙個影象資料的解析類。且看下面的源 class baseimagedecoder 這就是我們要找的imagedecoder類 int width const int height const int type const vi...