私はカスタムシェイプクラスを持っており、ここでの質問のために簡略化されており、次のようになります。
class Shape : public SpriteProperties{
};
ここで、クラスSpritePropertiesは次のとおりです。
class SpriteProperties{
Point rotationPivotPoint;
Point rotationPivtoAxes;
float width, height, xPos, yPos, zPos;
Point color;
};
ユーザーのコードでは、ユーザーが形状を初期化するときに、次のプロトタイプの関数を使用します。関数のパラメータは、表現する形状に必要なプロパティです。
void init(float _x, float _y, float _w, float _h, Point* _color)
{
//Initialize the shape
}
ただし、私の図形には回転ピボットポイントや軸などの追加のプロパティもあり、ユーザーはこの初期化プロセス中に何らかの方法で指定する必要があります。これらの回転プロパティは、ユーザーがどのように使用したかによって、後で使用される場合と使用されない場合があります。クラス。
void prepareRotationParams(Point* _rotationPivot, Point* _rotationAxes)
{
//
}
私の質問:コードの後半で使用される可能性のあるこのprepare ローテーション関数の使用をユーザーに制限することを考えていますが、同時に、init
関数自体にpreparerotationパラメーターを指定したくありません。must
ユーザーがどの形状に対しても明示的に指定したコアプロパティと一致しないでください。理想的なアプローチは何でしょうか?