Anti-Grain Geometry Tutorial
agg_arrowhead.h
1
//----------------------------------------------------------------------------
2
// Anti-Grain Geometry - Version 2.4
3
// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
4
//
5
// Permission to copy, use, modify, sell and distribute this software
6
// is granted provided this copyright notice appears in all copies.
7
// This software is provided "as is" without express or implied
8
// warranty, and with no claim as to its suitability for any purpose.
9
//
10
//----------------------------------------------------------------------------
11
// Contact: mcseem@antigrain.com
12
// mcseemagg@yahoo.com
13
// http://www.antigrain.com
14
//----------------------------------------------------------------------------
15
//
16
// Simple arrowhead/arrowtail generator
17
//
18
//----------------------------------------------------------------------------
19
#ifndef AGG_ARROWHEAD_INCLUDED
20
#define AGG_ARROWHEAD_INCLUDED
21
22
#include "agg_basics.h"
23
24
namespace
agg
25
{
26
27
//===============================================================arrowhead
28
//
29
// See implementation agg_arrowhead.cpp
30
//
31
class
arrowhead
32
{
33
public
:
34
arrowhead
();
35
36
void
head(
double
d1,
double
d2,
double
d3,
double
d4)
37
{
38
m_head_d1 = d1;
39
m_head_d2 = d2;
40
m_head_d3 = d3;
41
m_head_d4 = d4;
42
m_head_flag =
true
;
43
}
44
45
void
head() { m_head_flag =
true
; }
46
void
no_head() { m_head_flag =
false
; }
47
48
void
tail(
double
d1,
double
d2,
double
d3,
double
d4)
49
{
50
m_tail_d1 = d1;
51
m_tail_d2 = d2;
52
m_tail_d3 = d3;
53
m_tail_d4 = d4;
54
m_tail_flag =
true
;
55
}
56
57
void
tail() { m_tail_flag =
true
; }
58
void
no_tail() { m_tail_flag =
false
; }
59
60
void
rewind(
unsigned
path_id);
61
unsigned
vertex(
double
* x,
double
* y);
62
63
private
:
64
double
m_head_d1;
65
double
m_head_d2;
66
double
m_head_d3;
67
double
m_head_d4;
68
double
m_tail_d1;
69
double
m_tail_d2;
70
double
m_tail_d3;
71
double
m_tail_d4;
72
bool
m_head_flag;
73
bool
m_tail_flag;
74
double
m_coord[16];
75
unsigned
m_cmd[8];
76
unsigned
m_curr_id;
77
unsigned
m_curr_coord;
78
};
79
80
}
81
82
#endif
agg::arrowhead
Definition:
agg_arrowhead.h:31
agg
Definition:
agg_arc.cpp:24
agg-2.4
include
agg_arrowhead.h
Generated by
1.8.13