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:
@@ -100,7 +100,7 @@
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Forceer correcte _TIME_"
|
||||
CommandLine="if exist d:\Temp\Slnkdwf\SLNKDWFCom\Release\About.obj del d:\Temp\Slnkdwf\SLNKDWFCom\Release\About.obj
"
|
||||
CommandLine="if exist $(TEMP)\Slnkdwf\SLNKDWFCom\Release\About.obj del $(TEMP)\Slnkdwf\SLNKDWFCom\Release\About.obj
"
|
||||
AdditionalDependencies=""
|
||||
Outputs="NOTEXIST"
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Zorg dat versies alfabetisch altijd op elkaar volgen!
|
||||
#define SLNK_MAJOR_VERSION 3
|
||||
#define SLNK_MINOR_VERSION 11
|
||||
#define SLNK_MINOR_VERSION 12
|
||||
#define SLNK_BUILD_VERSION 0
|
||||
|
||||
// Define resource strings
|
||||
|
||||
@@ -29,7 +29,9 @@ CSLNKSymbolImpl::CSLNKSymbolImpl(double dwgX, double dwgY, WT_Units units)
|
||||
}
|
||||
|
||||
WT_Result CSLNKSymbolImpl::serialize (WT_File & file, WT_Units & units,
|
||||
CSLNKSymbolDefinition *symbdef, double hintScale,
|
||||
CSLNKSymbolDefinition *symbdef,
|
||||
WT_Integer32 node_num,
|
||||
double hintScale,
|
||||
BOOL forFind, double scale)
|
||||
{
|
||||
ATLASSERT(symbdef != NULL);
|
||||
@@ -164,9 +166,9 @@ WT_Result CSLNKSymbolImpl::serialize (WT_File & file, WT_Units & units,
|
||||
file.desired_rendition().font() = file.rendition().font() = WT_Font();
|
||||
|
||||
file.heuristics().set_apply_transform(WD_False); // Hebben we al rechtstreeks op de contour gedaan
|
||||
m_SLNKContour.serialize(file, true, forFind, scale);
|
||||
m_SLNKContour.serialize(file, node_num, true, forFind, scale);
|
||||
// Nog een keer voor een mogelijke outline
|
||||
m_SLNKContour.serialize(file, false, forFind, scale);
|
||||
m_SLNKContour.serialize(file, node_num+1, false, forFind, scale);
|
||||
|
||||
// En transform weer terug
|
||||
file.heuristics().set_transform(wasTransform);
|
||||
|
||||
@@ -12,6 +12,7 @@ public:
|
||||
|
||||
WT_Result serialize (WT_File & file, WT_Units & units,
|
||||
CSLNKSymbolDefinition *symbdef,
|
||||
WT_Integer32 node_num,
|
||||
double hintScale, BOOL forFind,
|
||||
double scale);
|
||||
WT_Result calculateBoundary (myWT_File *wtFile);
|
||||
|
||||
@@ -765,7 +765,8 @@ bool CWhipFile::GenerateSymbols(myWT_File &my_file)
|
||||
CSLNKSymbolImpl *symbol= m_SLNKSymbols[i];
|
||||
if (symbol->m_symbolName == "" || !m_SLNKSymbolDefinitions.Lookup(symbol->m_symbolName))
|
||||
symbol->serialize(my_file, m_contunits, NULL,
|
||||
m_hintScale, m_forFind, scale);
|
||||
m_SLNKContouren.GetCount() + 2*i, // node_num doortellen. *2 omdat we twee contouren doen
|
||||
m_hintScale, m_forFind, scale);
|
||||
else
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
@@ -775,7 +776,8 @@ bool CWhipFile::GenerateSymbols(myWT_File &my_file)
|
||||
cmt.serialize(my_file);
|
||||
#endif
|
||||
symbol->serialize(my_file, m_contunits, m_SLNKSymbolDefinitions[symbol->m_symbolName],
|
||||
m_hintScale, m_forFind, scale);
|
||||
m_SLNKContouren.GetCount() + 2*i, // node_num doortellen *2 omdat we twee contouren doen
|
||||
m_hintScale, m_forFind, scale);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@@ -868,7 +870,8 @@ bool CWhipFile::GenerateContouren(WT_File &my_planfile, myWT_File &my_file,
|
||||
for (size_t i=0; i<m_SLNKContouren.GetCount(); i++)
|
||||
{
|
||||
CSLNKContourImpl *contour= m_SLNKContouren[i];
|
||||
contour->serialize(my_file, solidOnly, m_forFind, scale);
|
||||
// i ook gebruiken als node_num, eigenlijk initialiseren op laatste van planfile
|
||||
contour->serialize(my_file, i, solidOnly, m_forFind, scale);
|
||||
}
|
||||
my_file.desired_rendition().object_node() = current_node;
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user