class SAL_WARN_UNUSED BASEGFX_DLLPUBLIC B2DHomMatrix
{ private: // Since this is a graphics matrix, the last row is always 0 0 1, so we don't bother to store it.
std::array<std::array<double, 3>, 2> mfValues {
std::array<double, 3>{ 1.0, 0.0, 0.0 },
std::array<double, 3>{ 0.0, 1.0, 0.0 } };
public:
constexpr B2DHomMatrix() = default;
/** constructor to allow setting all needed values for a 3x2 matrix at once. The parameterf_0x1e.g.isthesameasusingset(0,1,f)
*/
constexpr B2DHomMatrix(double f_0x0, double f_0x1, double f_0x2, double f_1x0, double f_1x1, double f_1x2)
{
mfValues[0][0] = f_0x0;
mfValues[0][1] = f_0x1;
mfValues[0][2] = f_0x2;
mfValues[1][0] = f_1x0;
mfValues[1][1] = f_1x1;
mfValues[1][2] = f_1x2;
}
/** Convenience creator for declaration of the matrix that is commonly usedbywebstandards(SVG,CSS,HTML).
*/ static B2DHomMatrix abcdef(double da, double db, double dc, double dd, double de, double df)
{ return B2DHomMatrix(da, dc, de, db, dd, df);
}
// Convenience accessor for value at 0,0 position in the matrix double a() const { return get(0,0); } // Convenience accessor for value at 1,0 position in the matrix double b() const { return get(1,0); } // Convenience accessor for value at 0,1 position in the matrix double c() const { return get(0,1); } // Convenience accessor for value at 1,1 position in the matrix double d() const { return get(1,1); } // Convenience accessor for value at 0,2 position in the matrix double e() const { return get(0,2); } // Convenience accessor for value at 1,2 position in the matrix double f() const { return get(1,2); }
/** allow setting all needed values for a 3x2 matrix in one call. The parameterf_0x1e.g.isthesameasusingset(0,1,f)
*/ void set3x2(double f_0x0, double f_0x1, double f_0x2, double f_1x0, double f_1x1, double f_1x2);
// reset to a standard matrix bool isIdentity() const; void identity();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.