forked from organicmaps/organicmaps
repeating pen pattern up to some reasonable width to lower the amount of generated geometry.
This commit is contained in:
parent
edc1e07cf2
commit
2006a48a25
2 changed files with 7 additions and 12 deletions
|
@ -18,7 +18,7 @@ namespace yg
|
|||
m_isSolid = true;
|
||||
else
|
||||
{
|
||||
/* buffer_vector<double, 8> vec;
|
||||
buffer_vector<double, 4> vec;
|
||||
copy(pattern, pattern + patternSize, back_inserter(vec));
|
||||
double length = 0;
|
||||
for (size_t i = 0; i < vec.size(); ++i)
|
||||
|
@ -28,24 +28,19 @@ namespace yg
|
|||
length += vec[i];
|
||||
}
|
||||
|
||||
int periods = min(20, max(int(100 / length), 1));
|
||||
int periods = min(20, max(int(128 / length), 1));
|
||||
m_pat.reserve(periods * vec.size());
|
||||
for (int i = 0; i < periods; ++i)
|
||||
copy(vec.begin(), vec.end(), back_inserter(m_pat));
|
||||
*/
|
||||
copy(pattern, pattern + patternSize, back_inserter(m_pat));
|
||||
|
||||
/* copy(pattern, pattern + patternSize, back_inserter(m_pat));
|
||||
double length = 0;
|
||||
for (size_t i = 0; i < m_pat.size(); ++i)
|
||||
{
|
||||
if ((m_pat[i] < 2) && (m_pat[i] > 0))
|
||||
m_pat[i] = 2;
|
||||
// length += m_pat[i];
|
||||
length += m_pat[i];
|
||||
}
|
||||
|
||||
/* int periods = min(20, max(int(100 / length), 1));
|
||||
m_pat.reserve(periods * vec.size());
|
||||
for (int i = 0; i < periods; ++i)
|
||||
copy(vec.begin(), vec.end(), back_inserter(m_pat));
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ namespace yg
|
|||
/// definition of the line style pattern used as a texture-cache-key
|
||||
struct PenInfo
|
||||
{
|
||||
//typedef buffer_vector<double, 8> TPattern;
|
||||
typedef vector<double> TPattern;
|
||||
typedef buffer_vector<double, 16> TPattern;
|
||||
// typedef vector<double> TPattern;
|
||||
Color m_color;
|
||||
double m_w;
|
||||
TPattern m_pat;
|
||||
|
|
Loading…
Add table
Reference in a new issue