#pragma once
//-----------------------------------------------------------------------------
// tellipticbrush.h: interface for the TEllipticBrush class.
//-----------------------------------------------------------------------------
#if !defined(TELLIPTIC_BRUSH_H)
#define TELLIPTIC_BRUSH_H
#ifdef PER_VECCHIO_ELLIPTIC_BRUSH
#include "tbrush.h"
#undef DVAPI
#undef DVVAR
#ifdef TVRENDER_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
//=============================================================================
// forward declaration
class TStroke;
//=============================================================================
/*!
| /
__b__ / \ angle in degree
/ | \ |
----|---o---a--|-- >
\__|__/
|
N.B. Imp manages angle in radiant.
*/
//=============================================================================
class DVAPI TEllipticBrush : public TBrush
{
struct Imp;
Imp *m_imp;
public:
// TEllipticBrush(double a = 1,double b = 1, double angleInDegree = 0); // per brush ellittico
TEllipticBrush();
TEllipticBrush(const TEllipticBrush &brush);
virtual ~TEllipticBrush();
void makeOutline(const TStroke &stroke,
TStrokeOutline &outline,
const OutlineParameter ¶m);
void draw();
/*
// per brush ellittico
void setAngle(double angleInDegree);
double getAngle() const;
double getSemiAxisA() const;
void setSemiAxisA(double);
double getSemiAxisB() const;
void setSemiAxisB(double);
*/
TBrush *clone();
private:
// not implemented
TEllipticBrush &operator=(const TEllipticBrush &brush);
};
#endif //PER_VECCHIO_ELLIPTIC_BRUSH
#endif // !defined(TELLIPTIC_BRUSH_H)
//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------