FSN#28477 Versie 3.12: node_num niet meer een globale static maar altijd bij 0 beginnen te tellen.

Bij dezelfde input krijg je nu een 100% identieke dwf

svn path=/Slnkdwf/trunk/; revision=20324
This commit is contained in:
Jos Groot Lipman
2014-01-14 11:36:58 +00:00
parent 888f6e0e3d
commit 03e397e316
7 changed files with 17 additions and 14 deletions

View File

@@ -8,8 +8,6 @@
#define PALETTE_RED 1 // Color in the default colormap is red.
/*static*/ WT_Integer32 CSLNKContourImpl::m_next_node_num = 0; // Eigenlijk initialiseren op laatste van planfile
// Constructor voor symboldef's en symbolen
// Hier weten we vaak de contour polygon nog niet (of kunnen die pas later bepalen/
// invullen met transformatie)
@@ -639,7 +637,7 @@ CSize CSLNKContourImpl::DrawOneLabel(WT_File &my_file,
Als solidOnly dan alleen als alpha==255 en een label (wel herkend)
****************************************************************************/
WT_Result CSLNKContourImpl::serialize(WT_File & file, BOOL solidOnly, BOOL forFind, double scale)
WT_Result CSLNKContourImpl::serialize(WT_File & file, WT_Integer32 node_num, BOOL solidOnly, BOOL forFind, double scale)
{
if (!m_fromSymbol && m_contLabel == "" && !solidOnly) // Alleen bij tweede slag
{ // May very well be a textobject itself, just emit it
@@ -659,7 +657,7 @@ WT_Result CSLNKContourImpl::serialize(WT_File & file, BOOL solidOnly, BOOL forFi
(m_Color.rgba().m_rgb.a<255 && !solidOnly))
{
// Start a node for 'everything'. Dit is wat we concreet teruggeven bij klikken in de tekening
WT_Object_Node my_node(file,m_next_node_num++,m_Key);
WT_Object_Node my_node(file, node_num, m_Key);
file.desired_rendition().object_node() = my_node;
//char s[256];

View File

@@ -45,7 +45,7 @@ public:
double m_LabelRotation; // Label rotation, around Centroid!
double m_Fontheight; // Font hoogte in mm
WT_Result serialize(WT_File & file, BOOL solidOnly, BOOL forFind, double scale);
WT_Result serialize(WT_File & file, WT_Integer32 node_num, BOOL solidOnly, BOOL forFind, double scale);
static BOOL PointInPolygon(const WT_Logical_Point pt, const WT_Point_Set &ps);
static BOOL PointInPolygon(const CPoint pt, const CPoint *ps, int size);
static void EdgeAngle(const WT_Logical_Point pt, const WT_Point_Set &ps, double &EdgeAngle, double &EdgeDistance);
@@ -61,5 +61,4 @@ public:
HDC myDC, int width=-2);
void AddPoint(double pValX, double pValY);
void AddPoint(WT_Logical_Point pt);
static WT_Integer32 m_next_node_num;
};