📄 wmlcubicpolynomialcurve3.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 WMLCUBICPOLYNOMIALCURVE3_H
#define WMLCUBICPOLYNOMIALCURVE3_H
#include "WmlPolynomialCurve3.h"
namespace Wml
{
template <class Real>
class WML_ITEM CubicPolynomialCurve3 : public PolynomialCurve3<Real>
{
public:
// Construction and destruction. CubicPolynomialCurve3 accepts
// responsibility for deleting the input polynomials.
CubicPolynomialCurve3 (Polynomial1<Real>* pkXPoly,
Polynomial1<Real>* pkYPoly, Polynomial1<Real>* pkZPoly);
virtual ~CubicPolynomialCurve3 ();
// tessellation data
int GetVertexQuantity () const;
Vector3<Real>* Vertices ();
// tessellation by recursive subdivision
void Tessellate (int iLevel);
protected:
// precomputation
class IntervalParameters
{
public:
int m_iI0, m_iI1;
Vector3<Real> m_akXuu[2];
};
// subdivide curve into two halves
void Subdivide (int iLevel, Real fDSqr, Vector3<Real>* akX,
IntervalParameters& rkIP);
// tessellation data
int m_iVertexQuantity;
Vector3<Real>* m_akVertex;
};
typedef CubicPolynomialCurve3<float> CubicPolynomialCurve3f;
typedef CubicPolynomialCurve3<double> CubicPolynomialCurve3d;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -