データのまとまりとしてのクラスの設計 (OSX: Xcode)

folder
memo
備考
Matrix1

SimpleVec.h を使ったクラス

//初期化
id Mx=[Matrix new];

//OpenGLでの描画
int matx,maty;
for(matx=0;matx<[Mx getWidth]-1;matx++)
{
glBegin(GL_LINE_STRIP);
for(maty=0;maty<[Mx getWidth]-1;maty++)
{
glVertex3f(
[[Mx getPoint:matx:maty] getx],
[[Mx getPoint:matx:maty] gety],
[[Mx getPoint:matx:maty] getz]);
}
glEnd();
}
for(maty=0;maty<[Mx getWidth]-1;maty++)
{
glBegin(GL_LINE_STRIP);
for(matx=0;matx<[Mx getWidth]-1;matx++)
{
glVertex3f(
[[Mx getPoint:matx:maty] getx],
[[Mx getPoint:matx:maty] gety],
[[Mx getPoint:matx:maty] getz]);
}
glEnd();
}

Matrix2

SimpleVec.h を使ったクラス
上記クラスにregain(復元?)機能を追加
上記クラスにeffect(外部からの入力)機能を追加

//初期化
id Mx=[Matrix2 new];

//描画の前辺りでコール
[Mx regaion];

//OpenGLでの描画は上記同様

//マウスからの入力
- (void)mouseDragged:(NSEvent *)event
{
self->eventLocation = [event locationInWindow];
float ax=(self->eventLocation.x)*.5;
float ay=(self->eventLocation.y)*.5;

[Mx effect:ax:ay];
}