📄 wmlcubicpolynomialcurve2.h
字号:
// Magic Software, Inc.
// http://www.magic-software.com
// http://www.wild-magic.com
// Copyright (c) 2003. All Rights Reserved
//
// The Wild Magic Library (WML) source code is supplied under the terms of
// the license agreement http://www.magic-software.com/License/WildMagic.pdf
// and may not be copied or disclosed except in accordance with the terms of
// that agreement.
#ifndef WMLCUBICPOLYNOMIALCURVE2_H
#define WMLCUBICPOLYNOMIALCURVE2_H
#include "WmlPolynomialCurve2.h"
namespace Wml
{
template <class Real>
class WML_ITEM CubicPolynomialCurve2 : public PolynomialCurve2<Real>
{
public:
// Construction and destruction. CubicPolynomialCurve2 accepts
// responsibility for deleting the input polynomials.
CubicPolynomialCurve2 (Polynomial1<Real>* pkXPoly,
Polynomial1<Real>* pkYPoly);
virtual ~CubicPolynomialCurve2 ();
// tessellation data
int GetVertexQuantity () const;
Vector2<Real>* Vertices ();
// tessellation by recursive subdivision
void Tessellate (int iLevel);
protected:
// precomputation
class WML_ITEM IntervalParameters
{
public:
int m_iI0, m_iI1;
Vector2<Real> m_akXuu[2];
};
// subdivide curve into two halves
void Subdivide (int iLevel, Real fDSqr, Vector2<Real>* akX,
IntervalParameters& rkIP);
// tessellation data
int m_iVertexQuantity;
Vector2<Real>* m_akVertex;
};
typedef CubicPolynomialCurve2<float> CubicPolynomialCurve2f;
typedef CubicPolynomialCurve2<double> CubicPolynomialCurve2d;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -