90 lines
2 KiB
C++
90 lines
2 KiB
C++
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// tellipticbrush.h: interface for the TEllipticBrush class.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#if !defined(TELLIPTIC_BRUSH_H)
|
|
#define TELLIPTIC_BRUSH_H
|
|
|
|
#ifdef PER_VECCHIO_ELLIPTIC_BRUSH
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#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
|
|
//-----------------------------------------------------------------------------
|