JunkBox_Lib++ (for Windows) 1.10.1
Loading...
Searching...
No Matches
MSGraph< T > Class Template Reference

#include <Gdata.h>

Inheritance diagram for MSGraph< T >:
Collaboration diagram for MSGraph< T >:

Public Member Functions

 MSGraph (int x, int y=1, int z=1, T v=(T) 0, T b=(T) 0, double rz=1.0)
 
 MSGraph (RBound< int > rb, T v=(T) 0, T b=(T) 0, double rz=1.0)
 
 MSGraph (void)
 
virtual ~MSGraph (void)
 
T & point (int x, int y=0, int z=0)
 座標(x,y,z)の画素値の参照
 
get_vPoint (double x, double y=0., double z=0., int mode=OFF)
 
void set_vPoint (double x, double y=0., double z=0., T cc=(T) 0, int mode=OFF)
 
void put_vPoint (double x, double y=0., double z=0., T cc=(T) 0, int mode=OFF)
 
void set (RBound< int > rb, T v=(T) 0, T b=(T) 0, double rz=1.0)
 
void set (int x, int y=1, int z=1, T v=(T) 0, T b=(T) 0, double rz=1.0)
 
void init (void)
 グラフィックデータは解放しない
 
bool isNull (void)
 グラフィックデータを持っていないか?
 
void fill (T v=(T) 0)
 全空間を画素値 v にする
 
void clear (T v)
 全空間を画素値 v にする
 
void clear (void)
 全空間を画素値 zero にする
 
void getm (int x, int y, int z=1, T v=(T) 0)
 グラフィックメモリを獲得する
 
void getm (T v=(T) 0)
 グラフィックメモリを獲得する
 
void free (void)
 グラフィックデータを開放する
 
void get_minmax (void)
 min, max を獲得
 
void set_array (T *ary, int sz=0)
 ary の内容を gpにコピー.
 
void contrast (T low, T high)
 コントラストの調整
 
template<typename R >
void mimicry (MSGraph< R > s)
 
template<typename R >
void dup (MSGraph< R > s)
 
void setWindow (double x1, double y1, double x2, double y2)
 
void setWindow3D (double x1, double y1, double z1, double x2, double y2, double z2)
 
void wMove (double x, double y, double z=0.0)
 
void wMove_rel (double x, double y, double z=0.0)
 
MSGraph< T > operator= (ExMSGraph< T > &s)
 

Public Attributes

int xs
 xサイズ. 4Byte.
 
int ys
 yサイズ. 4Byte.
 
int zs
 zサイズ. 4Byte. 2Dの場合は 1.
 
T * gp
 グラフィックデータへのポインタ.
 
zero
 画素値のゼロ位.
 
base
 画措置の底上げの値.
 
max
 画素値の最大値
 
min
 画素値の最小値
 
int color
 データのカラータイプ
 
int state
 エラー制御
 
RBound< int > rbound
 画像の境界情報
 
double RZxy
 Z軸の歪.Z軸の間隔を 1とした XY軸の間隔.(X or Y)/Z.
 
double norm
 規格化定数.フィルタのときに使用.
 
double wRateX
 ワールド座標系の x成分1ドットに対するスクリーン座標系のドット数.
 
double wRateY
 ワールド座標系の y成分1ドットに対するスクリーン座標系のドット数.
 
double wRateZ
 ワールド座標系の z成分1ドットに対するスクリーン座標系のドット数.
 
double wZeroX
 スクリーン座標系の原点に対するワールド座標系の x成分.
 
double wZeroY
 スクリーン座標系の原点に対するワールド座標系の y成分.
 
double wZeroZ
 スクリーン座標系の原点に対するワールド座標系の z成分.
 
double wNowX
 ペンの現地点の x成分(ワールド座標系)
 
double wNowY
 ペンの現地点の y成分(ワールド座標系)
 
double wNowZ
 ペンの現地点の z成分(ワールド座標系)
 

Detailed Description

template<typename T = sWord>
class jbxl::MSGraph< T >

template <typename T=uWord>> class MSGraph

シンプルグラフィックデータ.
メモリ中での画像データのデフォルト.

Attention
ディストラクタはメモリを解放しないので,必ず手動で解放すること.

Definition at line 75 of file Gdata.h.

Constructor & Destructor Documentation

◆ MSGraph() [1/3]

template<typename T = sWord>
MSGraph ( int x,
int y = 1,
int z = 1,
T v = (T)0,
T b = (T)0,
double rz = 1.0 )
inline

Definition at line 108 of file Gdata.h.

108{ set(x, y, z, v, b, rz);}
void set(RBound< int > rb, T v=(T) 0, T b=(T) 0, double rz=1.0)
Definition Gdata.h:207

References MSGraph< T >::set().

Here is the call graph for this function:

◆ MSGraph() [2/3]

template<typename T = sWord>
MSGraph ( RBound< int > rb,
T v = (T)0,
T b = (T)0,
double rz = 1.0 )
inline

Definition at line 109 of file Gdata.h.

109{ set(rb, v, b, rz);}

References MSGraph< T >::set().

Here is the call graph for this function:

◆ MSGraph() [3/3]

template<typename T = sWord>
MSGraph ( void )
inline

Definition at line 110 of file Gdata.h.

110{ init();}
void init(void)
グラフィックデータは解放しない
Definition Gdata.h:167

References MSGraph< T >::init().

Here is the call graph for this function:

◆ ~MSGraph()

template<typename T = sWord>
virtual ~MSGraph ( void )
inlinevirtual

Definition at line 112 of file Gdata.h.

112{}

Member Function Documentation

◆ clear() [1/2]

template<typename T >
void clear ( T v)

template <typename T> void MSGraph<T>::clear(T v)

全空間を画素値 v にする.v を zeroにする.

Definition at line 352 of file Gdata.h.

353{
354 for (int i=0; i<xs*ys*zs; i++) gp[i] = v;
355 zero = min = max = v;
356 return;
357}
T * gp
グラフィックデータへのポインタ.
Definition Gdata.h:81
int zs
zサイズ. 4Byte. 2Dの場合は 1.
Definition Gdata.h:80
T max
画素値の最大値
Definition Gdata.h:87
T min
画素値の最小値
Definition Gdata.h:88
int xs
xサイズ. 4Byte.
Definition Gdata.h:78
T zero
画素値のゼロ位.
Definition Gdata.h:82
int ys
yサイズ. 4Byte.
Definition Gdata.h:79

Referenced by jbxl::Density_Mask(), and jbxl::euclidDistance().

Here is the caller graph for this function:

◆ clear() [2/2]

template<typename T >
void clear ( void )

template <typename T> void MSGraph<T>::clear(void)

全空間を画素値 zero にする

Definition at line 365 of file Gdata.h.

366{
367 for (int i=0; i<xs*ys*zs; i++) gp[i] = zero;
368 min = max = zero;
369 return;
370}

◆ contrast()

template<typename T >
void contrast ( T low,
T high )

Definition at line 320 of file Gdata.h.

321{
322 if (max==min) return;
323
324 T dif = (high-low)/(max-min);
325
326 for (int i=0; i<xs*ys*zs; i++) {
327 gp[i] = (gp[i]-min)*dif + low;
328 }
329
330 return;
331}

◆ dup()

template<typename T = sWord>
template<typename R >
void dup ( MSGraph< R > s)
inline

Definition at line 144 of file Gdata.h.

144 {
145 *this = s;
146 getm();
147 memcpy(gp, s.gp, xs*ys*zs*sizeof(T));
148 };
void getm(int x, int y, int z=1, T v=(T) 0)
グラフィックメモリを獲得する
Definition Gdata.h:250

References MSGraph< T >::getm(), MSGraph< T >::gp, MSGraph< T >::xs, MSGraph< T >::ys, and MSGraph< T >::zs.

Here is the call graph for this function:

◆ fill()

template<typename T >
void fill ( T v = (T)0)

template <typename T> void MSGraph<T>::fill(T v)

全空間を画素値 v にする

Definition at line 339 of file Gdata.h.

340{
341 for (int i=0; i<xs*ys*zs; i++) gp[i] = v;
342 min = max = v;
343 return;
344}

◆ free()

template<typename T >
void free ( void )

◆ get_minmax()

template<typename T >
void get_minmax ( void )

Definition at line 298 of file Gdata.h.

299{
300 int i;
301
302 min = max = gp[0];
303
304 for (i=1; i<xs*ys; i++) {
305 min = Min(min, gp[i]);
306 max = Max(max, gp[i]);
307 }
308}
#define Min(x, y)
Definition common.h:250
#define Max(x, y)
Definition common.h:247

References Max, and Min.

Referenced by jbxl::delete_noise_MSGraph(), jbxl::Density_Filter(), jbxl::Density_Mask(), and jbxl::MSMaskFilter().

Here is the caller graph for this function:

◆ get_vPoint()

template<typename T >
T get_vPoint ( double x,
double y = 0.,
double z = 0.,
int mode = OFF )

template <typename T> T MSGraph<T>::get_vPoint(double x, double y, double z, int mode);

グラフィックデータ構造体 vpの任意の 1voxelの値(濃度)を返す.
座標の範囲チェックあり.Z軸の歪,境界補整あり.

Parameters
x,y,z値を設定する xyz座標.
modeモード: OFF なら最も近い点の濃度を返す.それ以外なら周囲の平均.
Returns
(x,y,z)点の濃度(輝度値).(x,y,z)が座標の範囲外の場合は zeroを返す.

Definition at line 397 of file Gdata.h.

398{
399 int ix, iy, iz;
400 int xx, yy, zz;
401 T ret;
402
403 ret = zero;
404
405 z = z*RZxy;
406 if (mode==OFF) {
407 ix = (int)(x+0.5) - rbound.xmin;
408 iy = (int)(y+0.5) - rbound.ymin;
409 iz = (int)(z+0.5) - rbound.zmin;
410 if (ix>=0 && ix<xs &&iy>=0 && iy<ys && iz>=0 && iz<zs){
411 ret = gp[iz*xs*ys + iy*xs + ix];
412 }
413 }
414 else {
415 int n = 0;
416 T cc = (T)0;
417
418 xx = (int)x - rbound.xmin;
419 yy = (int)y - rbound.ymin;
420 zz = (int)z - rbound.zmin;
421 for (ix=xx; ix<=xx+1; ix++)
422 for (iy=yy; iy<=yy+1; iy++)
423 for (iz=zz; iz<=zz+1; iz++) {
424 if (ix>=0 && ix<xs && iy>=0 && iy<ys && iz>=0 && iz<zs){
425 cc = cc + gp[iz*xs*ys + iy*xs + ix];
426 n++;
427 }
428 }
429 if (n!=0) ret = cc/n;
430 }
431
432 return ret;
433}
double RZxy
Z軸の歪.Z軸の間隔を 1とした XY軸の間隔.(X or Y)/Z.
Definition Gdata.h:92
RBound< int > rbound
画像の境界情報
Definition Gdata.h:91
T ymin
y軸境界の最小値.
Definition Vector.h:428
T xmin
x軸境界の最小値.
Definition Vector.h:426
T zmin
z軸境界の最小値.
Definition Vector.h:430
#define OFF
Definition common.h:231

References OFF, RBound< T >::xmin, RBound< T >::ymin, and RBound< T >::zmin.

◆ getm() [1/2]

template<typename T >
void getm ( int x,
int y,
int z = 1,
T v = (T)0 )

template <typename T> void MSGraph<T>::getm(int x, int y, int z, T v)

typename T 型単純グラフィックデータ(MSGraph)のメモリ領域を確保する.
グラフィックデータ部分は v (デフォルトは0)で初期化される.

Parameters
x確保するグラフィックデータの x方向のサイズ.
y確保するグラフィックデータの y方向のサイズ.
z確保するグラフィックデータの z方向のサイズ.
vグラフィックデータ部分の初期化値(デフォルトは0)

メモリ領域を獲得できなかった場合,メモリ領域へのポインタは NULLとなる.

Definition at line 250 of file Gdata.h.

251{
252 xs = x;
253 ys = y;
254 zs = z;
255 gp = NULL;
256 zero = max = min = v;
257
258 if (xs>0 && ys>0 && zs>0) {
259 gp = (T*)malloc(xs*ys*zs*sizeof(T));
260 if (gp==NULL) {
261 init();
263 return;
264 }
265 for (int i=0; i<xs*ys*zs; i++) gp[i] = (T)v;
266 }
267}
int state
エラー制御
Definition Gdata.h:90
#define JBXL_GRAPH_MEMORY_ERROR
メモリエラー
Definition jbxl_state.h:170

References JBXL_GRAPH_MEMORY_ERROR.

Referenced by jbxl::copy_MSGraph(), jbxl::copy_MSGraph(), MSGraph< T >::dup(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), jbxl::make_element_morph(), jbxl::readGraphicSlices(), jbxl::scalingMSGraph2D(), and ExMSGraph< T >::set().

Here is the caller graph for this function:

◆ getm() [2/2]

template<typename T >
void getm ( T v = (T)0)

template <typename T> void MSGraph<T>::getm(T v)

既に指定されているサイズに従って,typename T 型単純グラフィックデータ(MSGraph) のメモリ領域を確保する.
グラフィックデータ部分は v (デフォルトは0)で初期化される.

Parameters
vグラフィックデータ部分の初期化値(デフォルトは0)

メモリ領域を獲得できなかった場合,メモリ領域へのポインタは NULLとなる.

Definition at line 281 of file Gdata.h.

282{
283 gp = NULL;
284 zero = max = min = v;
285
286 if (xs>0 && ys>0 && zs>0) {
287 gp = (T*)malloc(xs*ys*zs*sizeof(T));
288 if (gp==NULL) {
289 init();
291 return;
292 }
293 for (int i=0; i<xs*ys*zs; i++) gp[i] = (T)v;
294 }
295}

References JBXL_GRAPH_MEMORY_ERROR.

◆ init()

template<typename T >
void init ( void )

template <typename T> void MSGraph<T>::init(void)

メンバ変数を初期化する.画像データの開放は行わない

Definition at line 167 of file Gdata.h.

168{
169 xs = ys = zs = 0;
170 gp = NULL;
171 RZxy = 1.0;
172 zero = (T)0;
173 base = (T)0;
174 min = (T)0;
175 max = (T)0;
176 norm = 1.0;
179 rbound.init();
180
181 wRateX = wRateY = 1.0;
182 wZeroX = wZeroY = 1.0;
183 wNowX = wNowY = 0.0;
184
185 return;
186}
double wZeroX
スクリーン座標系の原点に対するワールド座標系の x成分.
Definition Gdata.h:99
int color
データのカラータイプ
Definition Gdata.h:89
T base
画措置の底上げの値.
Definition Gdata.h:83
double wZeroY
スクリーン座標系の原点に対するワールド座標系の y成分.
Definition Gdata.h:100
double wRateY
ワールド座標系の y成分1ドットに対するスクリーン座標系のドット数.
Definition Gdata.h:97
double wNowX
ペンの現地点の x成分(ワールド座標系)
Definition Gdata.h:102
double norm
規格化定数.フィルタのときに使用.
Definition Gdata.h:93
double wNowY
ペンの現地点の y成分(ワールド座標系)
Definition Gdata.h:103
double wRateX
ワールド座標系の x成分1ドットに対するスクリーン座標系のドット数.
Definition Gdata.h:96
void init()
Definition Vector.h:455
#define GRAPH_COLOR_UNKNOWN
0x0070
Definition gheader.h:302
#define STATE_GRAPH_NOERR
Definition gheader.h:234

References GRAPH_COLOR_UNKNOWN, RBound< T >::init(), and STATE_GRAPH_NOERR.

Referenced by jbxl::copyCmnHead2MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), ExMSGraph< T >::ExMSGraph(), ExMSGraph< T >::ffree(), ExMSGraph< T >::free(), jbxl::grab_MSGraph(), jbxl::grab_MSGraph(), ExMSGraph< T >::mfree(), MSGraph< T >::MSGraph(), jbxl::readGraphicFile(), jbxl::readGraphicSlices(), jbxl::readRasFile(), jbxl::reduce_MSGraph(), jbxl::x_reverse_MSGraph(), and jbxl::zoom_MSGraph().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNull()

◆ mimicry()

template<typename T = sWord>
template<typename R >
void mimicry ( MSGraph< R > s)
inline

Definition at line 134 of file Gdata.h.

134 {
135 set(s.xs, s.ys, s.zs, (T)s.zero, (T)s.base, s.RZxy);
136 rbound = s.rbound;
137 color = s.color;
138 state = s.state;
139 max = s.zero;
140 min = s.zero;
141 norm = s.norm;
142 };

References MSGraph< T >::base, MSGraph< T >::color, MSGraph< T >::max, MSGraph< T >::min, MSGraph< T >::norm, MSGraph< T >::rbound, MSGraph< T >::RZxy, MSGraph< T >::set(), MSGraph< T >::state, MSGraph< T >::xs, MSGraph< T >::ys, MSGraph< T >::zero, and MSGraph< T >::zs.

Referenced by jbxl::count_object_MSGraph(), jbxl::Density_Filter(), jbxl::Density_Mask(), jbxl::edgeEnhance(), jbxl::Laplacian(), jbxl::medianFilter(), jbxl::MSMaskFilter(), jbxl::Nabla(), jbxl::object_feature_MSGraph(), jbxl::xSobel(), jbxl::xxSobel(), jbxl::ySobel(), jbxl::yySobel(), jbxl::zSobel(), and jbxl::zzSobel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

template<typename T >
MSGraph< T > operator= ( ExMSGraph< T > & s)

Definition at line 570 of file Gdata.h.

571{
572 xs = s.xs;
573 ys = s.ys;
574 zs = s.zs;
575 gp = s.gp;
576 zero = s.zero;
577 base = s.base;
578
579 max = s.max;
580 min = s.min;
581 color = s.color;
582 state = s.state;
583 rbound = s.rbound;
584 RZxy = s.RZxy;
585 norm = s.norm;
586
587 wRateX = s.wRateX;
588 wRateY = s.wRateY;
589 wRateZ = s.wRateZ;
590 wZeroX = s.wZeroX;
591 wZeroY = s.wZeroY;
592 wZeroZ = s.wZeroZ;
593 wNowX = s.wNowX;
594 wNowY = s.wNowY;
595 wNowZ = s.wNowZ;
596
597 return *this;
598}
double wNowZ
ペンの現地点の z成分(ワールド座標系)
Definition Gdata.h:104
double wZeroZ
スクリーン座標系の原点に対するワールド座標系の z成分.
Definition Gdata.h:101
double wRateZ
ワールド座標系の z成分1ドットに対するスクリーン座標系のドット数.
Definition Gdata.h:98

References MSGraph< T >::base, MSGraph< T >::color, MSGraph< T >::gp, MSGraph< T >::max, MSGraph< T >::min, MSGraph< T >::norm, MSGraph< T >::rbound, MSGraph< T >::RZxy, MSGraph< T >::state, MSGraph< T >::wNowX, MSGraph< T >::wNowY, MSGraph< T >::wNowZ, MSGraph< T >::wRateX, MSGraph< T >::wRateY, MSGraph< T >::wRateZ, MSGraph< T >::wZeroX, MSGraph< T >::wZeroY, MSGraph< T >::wZeroZ, MSGraph< T >::xs, MSGraph< T >::ys, MSGraph< T >::zero, and MSGraph< T >::zs.

◆ point()

◆ put_vPoint()

template<typename T >
void put_vPoint ( double x,
double y = 0.,
double z = 0.,
T cc = (T)0,
int mode = OFF )

template <typename T> void MSGraph<T>::put_vPoint(double x, double y, double z, T cc, int mode)

グラフィックデータ構造体 gdの任意の 1voxelに値を設定する.

座標の範囲チェックあり.Z軸の歪,境界補整あり.
ただし,set_vPoint()は強制的に値を設定するが,put_vPoint()は既に 値が設定されている場合(zeroでない場合)は,指定された値を設定しない.

Parameters
x,y,z値を設定する xyz座標.
cc点(x,y,z)に設定する点の値(濃度).
modeOFFの場合,(x,y,z)に一番近い点に ccを設定する. ON の場合,(x,y,z)の周りの格子点全てに ccを設定する.

Definition at line 491 of file Gdata.h.

492{
493 int ix, iy, iz;
494 int xx, yy, zz;
495
496 z = z*RZxy;
497 if (mode==OFF) {
498 ix = (int)(x+0.5) - rbound.xmin;
499 iy = (int)(y+0.5) - rbound.ymin;
500 iz = (int)(z+0.5) - rbound.zmin;
501 if (ix>=0 && ix<xs && iy>=0 && iy<ys && iz>=0 && iz<zs){
502 if (gp[iz*xs*ys + iy*xs + ix]==zero) gp[iz*xs*ys + iy*xs + ix] = cc;
503 }
504 }
505 else {
506 xx = (int)x - rbound.xmin;
507 yy = (int)y - rbound.ymin;
508 zz = (int)z - rbound.zmin;
509 for (ix=xx; ix<=xx+1; ix++)
510 for (iy=yy; iy<=yy+1; iy++)
511 for (iz=zz; iz<=zz+1; iz++) {
512 if (ix>=0 && ix<xs && iy>=0 && iy<ys && iz>=0 && iz<zs){
513 if (gp[iz*xs*ys + iy*xs + ix]==zero) gp[iz*xs*ys + iy*xs + ix] = cc;
514 }
515 }
516 }
517
518 return;
519}

References OFF, RBound< T >::xmin, RBound< T >::ymin, and RBound< T >::zmin.

◆ set() [1/2]

template<typename T >
void set ( int x,
int y = 1,
int z = 1,
T v = (T)0,
T b = (T)0,
double rz = 1.0 )

Definition at line 216 of file Gdata.h.

217{
218 if (z<=0) z = 1;
219
220 getm(x, y, z, v);
221 if (gp==NULL) return;
222
223 base = b;
224 if (rz<=0.0) RZxy = 1.0;
225 else RZxy = rz;
226 rbound.set(0, x-1, 0, y-1, 0, z-1);
227 //
229 if (z==1) color = GRAPH_COLOR_MONO;
230
231 norm = 1.0;
233 return;
234}
void set(T XMin=(T) 0, T XMax=(T) 0, T YMin=(T) 0, T YMax=(T) 0, T ZMin=(T) 0, T ZMax=(T) 0, T TMin=(T) 0, T TMax=(T) 0)
Definition Vector.h:444
#define GRAPH_COLOR_MONO
0x0000
Definition gheader.h:242

References GRAPH_COLOR_MONO, GRAPH_COLOR_UNKNOWN, RBound< T >::set(), and STATE_GRAPH_NOERR.

Here is the call graph for this function:

◆ set() [2/2]

◆ set_array()

template<typename T >
void set_array ( T * ary,
int sz = 0 )

Definition at line 311 of file Gdata.h.

312{
313 int size = xs*ys*zs;
314
315 if (sz>0) size = Min(size, sz);
316 for (int i=0; i<size; i++) gp[i] = ary[i];
317}

References Min.

◆ set_vPoint()

template<typename T >
void set_vPoint ( double x,
double y = 0.,
double z = 0.,
T cc = (T)0,
int mode = OFF )

template <typename T> void MSGraph<T>::set_vPoint(double x, double y, double z, T cc, int mode)

グラフィックデータ構造体 gdの任意の 1voxelに値を設定する.
座標の範囲チェックあり.Z軸の歪,境界補整あり.

Parameters
x,y,z値を設定する xyz座標.
cc点(x,y,z)に設定する点の値(濃度).
modeOFFの場合,(x,y,z)に一番近い点に ccを設定する. ON の場合,(x,y,z)の周りの格子点全てに ccを設定する.

Definition at line 447 of file Gdata.h.

448{
449 int ix, iy, iz;
450 int xx, yy, zz;
451
452 z = z*RZxy;
453 if (mode==OFF) {
454 ix = (int)(x+0.5) - rbound.xmin;
455 iy = (int)(y+0.5) - rbound.ymin;
456 iz = (int)(z+0.5) - rbound.zmin;
457 if (ix>=0 && ix<xs && iy>=0 && iy<ys && iz>=0 && iz<zs){
458 gp[iz*xs*ys + iy*xs + ix] = cc;
459 }
460 }
461 else {
462 xx = (int)x - rbound.xmin;
463 yy = (int)y - rbound.ymin;
464 zz = (int)z - rbound.zmin;
465 for (ix=xx; ix<=xx+1; ix++)
466 for (iy=yy; iy<=yy+1; iy++)
467 for (iz=zz; iz<=zz+1; iz++) {
468 if (ix>=0 && ix<xs && iy>=0 && iy<ys && iz>=0 && iz<zs){
469 gp[iz*xs*ys + iy*xs + ix] = cc;
470 }
471 }
472 }
473 return;
474}

References OFF, RBound< T >::xmin, RBound< T >::ymin, and RBound< T >::zmin.

Referenced by jbxl::Local2World(), and jbxl::MSGraph_Sphere().

Here is the caller graph for this function:

◆ setWindow()

template<typename T >
void setWindow ( double x1,
double y1,
double x2,
double y2 )

Definition at line 522 of file Gdata.h.

523{
524 if (x1==x2 || y1==y2) return;
525
526 wRateX = (xs-1.0)/Xabs(x2-x1);
527 wRateY = (ys-1.0)/Xabs(y2-y1);
528 wZeroX = Min(x1, x2);
529 wZeroY = Max(y1, y2);
530}
#define Xabs(x)
Definition common.h:257

References Max, Min, and Xabs.

◆ setWindow3D()

template<typename T >
void setWindow3D ( double x1,
double y1,
double z1,
double x2,
double y2,
double z2 )

3D空間にビューポートを設定する.

Parameters
x1ビューポートの任意の頂点の x座標
y1ビューポートの任意の頂点の y座標
z1ビューポートの任意の頂点の z座標
x2ビューポートの対角の頂点の x座標
y2ビューポートの対角の頂点の y座標
z2ビューポートの対角の頂点の z座標
座標系
Z
|
|
|/
X ----------+-
/|
/
/ Y

Definition at line 555 of file Gdata.h.

556{
557 if (x1==x2 || y1==y2 || z1==z2) return;
558
559 wRateX = (xs-1.0)/Xabs(x2-x1);
560 wRateY = (ys-1.0)/Xabs(y2-y1);
561 wRateZ = (zs-1.0)/Xabs(z2-z1);
562 wZeroX = Max(x1, x2);
563 wZeroY = Min(y1, y2);
564 wZeroZ = Max(z1, z2);
565}

References Max, Min, and Xabs.

◆ wMove()

template<typename T = sWord>
void wMove ( double x,
double y,
double z = 0.0 )
inline

Definition at line 154 of file Gdata.h.

154{wNowX=x; wNowY=y; wNowZ=z;}

References MSGraph< T >::wNowX, MSGraph< T >::wNowY, and MSGraph< T >::wNowZ.

Referenced by jbxl::wDraw(), jbxl::wDraw3D(), jbxl::wDraw_rel(), and jbxl::wDraw_rel3D().

Here is the caller graph for this function:

◆ wMove_rel()

template<typename T = sWord>
void wMove_rel ( double x,
double y,
double z = 0.0 )
inline

Definition at line 155 of file Gdata.h.

155{wNowX+=x; wNowY+=y; wNowZ+=z;}

References MSGraph< T >::wNowX, MSGraph< T >::wNowY, and MSGraph< T >::wNowZ.

Member Data Documentation

◆ base

◆ color

◆ gp

template<typename T = sWord>
T* gp

Definition at line 81 of file Gdata.h.

Referenced by jbxl::_getMSGraph_CvMat_C1(), jbxl::_getMSGraph_CvMat_C3(), jbxl::cat_MSGraph(), jbxl::cat_MSGraph(), jbxl::centerLine(), jbxl::copy_morph_element(), jbxl::copy_MSGraph(), jbxl::copy_MSGraph(), jbxl::copyCmnHead2MSGraph(), jbxl::copyMSGraph2CmnHead(), jbxl::copyMSGraph2CvMat(), jbxl::count_area_MSGraph(), jbxl::count_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::deletable(), jbxl::delete_noise_MSGraph(), jbxl::Density_Filter(), jbxl::Density_Mask(), MSGraph< T >::dup(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), jbxl::edgeEnhance(), jbxl::euclidDistance(), jbxl::fat_object_morph(), jbxl::get_boundary_MSGraph(), jbxl::Laplacian(), jbxl::Local2World(), jbxl::make_element_morph(), jbxl::medianFilter(), jbxl::MSGraph2TGAImage(), jbxl::MSGraph_changeColor(), jbxl::MSGraph_Circle(), jbxl::MSGraph_Circle3D(), jbxl::MSGraph_Paint(), jbxl::MSGraph_Paint3D(), jbxl::MSGraph_Pool(), jbxl::MSGraph_Sphere(), jbxl::MSGraph_Torus(), jbxl::MSMaskFilter(), jbxl::Nabla(), jbxl::nonZeroBoxel(), jbxl::object_feature_MSGraph(), jbxl::opening_morph(), ExMSGraph< T >::operator=(), MSGraph< T >::operator=(), ExMSGraph< T >::operator=(), jbxl::out_around_MSGraph(), MSGraph< T >::point(), jbxl::point_fat_object_morph(), jbxl::point_open_morph(), jbxl::readCmnHeadFile(), jbxl::readDicomData(), jbxl::readGraphicFile(), jbxl::readGraphicSlices(), jbxl::readXHeadFile(), jbxl::reduce_MSGraph(), jbxl::rotate_MSGraph(), jbxl::scalingMSGraph2D(), jbxl::set_around_MSGraph(), jbxl::TGAImage2MSGraph(), jbxl::vNabla(), jbxl::writeGraphicFile(), jbxl::x_reverse_MSGraph(), jbxl::xSobel(), jbxl::xxSobel(), jbxl::ySobel(), jbxl::yySobel(), jbxl::zoom_MSGraph(), and jbxl::zSobel().

◆ max

◆ min

◆ norm

template<typename T = sWord>
double norm

◆ rbound

◆ RZxy

◆ state

◆ wNowX

◆ wNowY

◆ wNowZ

template<typename T = sWord>
double wNowZ

◆ wRateX

◆ wRateY

◆ wRateZ

template<typename T = sWord>
double wRateZ

◆ wZeroX

◆ wZeroY

◆ wZeroZ

template<typename T = sWord>
double wZeroZ

◆ xs

template<typename T = sWord>
int xs

Definition at line 78 of file Gdata.h.

Referenced by jbxl::_getMSGraph_CvMat_C1(), jbxl::_getMSGraph_CvMat_C3(), jbxl::addPaint_MSGraph(), jbxl::cat_MSGraph(), jbxl::cat_MSGraph(), jbxl::centerLine(), jbxl::copy_morph_element(), jbxl::copy_MSGraph(), jbxl::copy_MSGraph(), jbxl::copyCmnHead2MSGraph(), jbxl::copyMSGraph2CmnHead(), jbxl::copyMSGraph2CvMat(), jbxl::count_area_MSGraph(), jbxl::count_around_MSGraph(), jbxl::count_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::deletable(), jbxl::delete_noise_MSGraph(), jbxl::Density_Filter(), jbxl::Density_Mask(), MSGraph< T >::dup(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), jbxl::edgeEnhance(), jbxl::euclidDistance(), jbxl::fat_object_morph(), jbxl::get_boundary_MSGraph(), jbxl::grab_MSGraph(), jbxl::grab_MSGraph(), jbxl::Laplacian(), jbxl::Local2World(), jbxl::make_element_morph(), jbxl::medianFilter(), ExMSGraph< T >::mimicry(), MSGraph< T >::mimicry(), jbxl::MSGraph2TGAImage(), jbxl::MSGraph_changeColor(), jbxl::MSGraph_Circle(), jbxl::MSGraph_Circle3D(), jbxl::MSGraph_Paint(), jbxl::MSGraph_Paint3D(), jbxl::MSGraph_Pool(), jbxl::MSGraph_Sphere(), jbxl::MSGraph_Torus(), jbxl::MSMaskFilter(), jbxl::Nabla(), jbxl::nonZeroBoxel(), jbxl::object_feature_MSGraph(), jbxl::opening_morph(), ExMSGraph< T >::operator=(), MSGraph< T >::operator=(), ExMSGraph< T >::operator=(), jbxl::out_around_MSGraph(), MSGraph< T >::point(), jbxl::point_fat_object_morph(), jbxl::point_open_morph(), jbxl::readCmnHeadFile(), jbxl::readDicomData(), jbxl::readDicomFile(), jbxl::readGraphicFile(), jbxl::readGraphicSlices(), jbxl::readXHeadFile(), jbxl::reduce_MSGraph(), jbxl::rotate_MSGraph(), jbxl::rotate_MSGraph(), jbxl::scalingMSGraph2D(), jbxl::set_around_MSGraph(), jbxl::vNabla(), jbxl::writeGraphicFile(), jbxl::x_reverse_MSGraph(), jbxl::xSobel(), jbxl::xxSobel(), jbxl::ySobel(), jbxl::yySobel(), jbxl::zoom_MSGraph(), and jbxl::zSobel().

◆ ys

template<typename T = sWord>
int ys

Definition at line 79 of file Gdata.h.

Referenced by jbxl::_getMSGraph_CvMat_C1(), jbxl::_getMSGraph_CvMat_C3(), jbxl::addPaint_MSGraph(), jbxl::cat_MSGraph(), jbxl::cat_MSGraph(), jbxl::centerLine(), jbxl::copy_morph_element(), jbxl::copy_MSGraph(), jbxl::copy_MSGraph(), jbxl::copyCmnHead2MSGraph(), jbxl::copyMSGraph2CmnHead(), jbxl::copyMSGraph2CvMat(), jbxl::count_area_MSGraph(), jbxl::count_around_MSGraph(), jbxl::count_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::deletable(), jbxl::delete_noise_MSGraph(), jbxl::Density_Filter(), jbxl::Density_Mask(), MSGraph< T >::dup(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), jbxl::edgeEnhance(), jbxl::euclidDistance(), jbxl::fat_object_morph(), jbxl::get_boundary_MSGraph(), jbxl::grab_MSGraph(), jbxl::grab_MSGraph(), jbxl::Laplacian(), jbxl::Local2World(), jbxl::make_element_morph(), jbxl::medianFilter(), ExMSGraph< T >::mimicry(), MSGraph< T >::mimicry(), jbxl::MSGraph2TGAImage(), jbxl::MSGraph_changeColor(), jbxl::MSGraph_Circle(), jbxl::MSGraph_Circle3D(), jbxl::MSGraph_Line(), jbxl::MSGraph_Paint(), jbxl::MSGraph_Paint3D(), jbxl::MSGraph_Pool(), jbxl::MSGraph_Sphere(), jbxl::MSGraph_Torus(), jbxl::MSMaskFilter(), jbxl::Nabla(), jbxl::nonZeroBoxel(), jbxl::object_feature_MSGraph(), jbxl::opening_morph(), ExMSGraph< T >::operator=(), MSGraph< T >::operator=(), ExMSGraph< T >::operator=(), jbxl::out_around_MSGraph(), MSGraph< T >::point(), jbxl::point_fat_object_morph(), jbxl::point_open_morph(), jbxl::readCmnHeadFile(), jbxl::readGraphicFile(), jbxl::readGraphicSlices(), jbxl::readXHeadFile(), jbxl::reduce_MSGraph(), jbxl::rotate_MSGraph(), jbxl::rotate_MSGraph(), jbxl::scalingMSGraph2D(), jbxl::set_around_MSGraph(), jbxl::vNabla(), jbxl::wGetPixel(), jbxl::writeGraphicFile(), jbxl::wSetPixel(), jbxl::x_reverse_MSGraph(), jbxl::xSobel(), jbxl::xxSobel(), jbxl::ySobel(), jbxl::yySobel(), jbxl::zoom_MSGraph(), and jbxl::zSobel().

◆ zero

◆ zs

template<typename T = sWord>
int zs

Definition at line 80 of file Gdata.h.

Referenced by jbxl::_getMSGraph_CvMat_C1(), jbxl::_getMSGraph_CvMat_C3(), jbxl::cat_MSGraph(), jbxl::cat_MSGraph(), jbxl::centerLine(), jbxl::copy_morph_element(), jbxl::copy_MSGraph(), jbxl::copy_MSGraph(), jbxl::copyCmnHead2MSGraph(), jbxl::copyMSGraph2CmnHead(), jbxl::copyMSGraph2CvMat(), jbxl::count_area_MSGraph(), jbxl::count_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), jbxl::cut_object_MSGraph(), MSGraph< T >::dup(), jbxl::dup_MSGraph(), jbxl::dup_MSGraph(), jbxl::edgeEnhance(), jbxl::euclidDistance(), jbxl::fat_object_morph(), jbxl::get_boundary_MSGraph(), jbxl::grab_MSGraph(), jbxl::grab_MSGraph(), jbxl::Local2World(), jbxl::make_element_morph(), jbxl::medianFilter(), ExMSGraph< T >::mimicry(), MSGraph< T >::mimicry(), jbxl::MSGraph2TGAImage(), jbxl::MSGraph_changeColor(), jbxl::MSGraph_Line3D(), jbxl::MSGraph_Paint3D(), jbxl::MSGraph_Pool(), jbxl::MSGraph_Sphere(), jbxl::MSGraph_Torus(), jbxl::MSMaskFilter(), jbxl::Nabla(), jbxl::object_feature_MSGraph(), jbxl::opening_morph(), ExMSGraph< T >::operator=(), MSGraph< T >::operator=(), ExMSGraph< T >::operator=(), jbxl::point_fat_object_morph(), jbxl::point_open_morph(), jbxl::readCmnHeadFile(), jbxl::readGraphicFile(), jbxl::readGraphicSlices(), jbxl::readXHeadFile(), jbxl::reduce_MSGraph(), jbxl::rotate_MSGraph(), jbxl::scalingMSGraph2D(), jbxl::vNabla(), jbxl::wGetPixel3D(), jbxl::writeGraphicFile(), jbxl::wSetPixel3D(), jbxl::x_reverse_MSGraph(), jbxl::xSobel(), jbxl::xxSobel(), jbxl::ySobel(), jbxl::yySobel(), jbxl::zoom_MSGraph(), jbxl::zSobel(), and jbxl::zzSobel().


The documentation for this class was generated from the following file: