wmlcubicpolynomialcurve2.h
来自「3D Game Engine Design Source Code非常棒」· C头文件 代码 · 共 60 行
H
60 行
// 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 + =
减小字号Ctrl + -
显示快捷键?