FMHN#67510 ARC ondersteuning via instelling minmergedistance
svn path=/Slnkdwf/trunk/; revision=52702
This commit is contained in:
@@ -165,10 +165,7 @@
|
||||
<Culture>0x0409</Culture>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PreLinkEvent>
|
||||
<Message>not Unloading IIS...</Message>
|
||||
<Command>rem UnloadIIS.bat</Command>
|
||||
</PreLinkEvent>
|
||||
<PreLinkEvent />
|
||||
<Link>
|
||||
<AdditionalDependencies>SLNKDWFStaticRW.lib;Secur32.lib;bblib.lib;qrcode.lib;w3dtk.1.7.1555.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(DWFTKPATH)\lib\x64\static\$(Configuration)\vc14.0;.\CxImage\;..\lib\x64\$(Configuration)\;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Zorg dat versies alfabetisch altijd op elkaar volgen!
|
||||
#define SLNK_MAJOR_VERSION 4
|
||||
#define SLNK_MINOR_VERSION 24
|
||||
#define SLNK_MINOR_VERSION 25
|
||||
#define SLNK_BUILD_VERSION 0
|
||||
|
||||
// Define resource strings
|
||||
|
||||
@@ -514,6 +514,10 @@ void arc2poly(WT_Logical_Point builder[], int &builder_len,
|
||||
double radius = outlineEllipse.major();
|
||||
|
||||
int arcsteps = myRound(abs (er - sr) / TWO_PI * 16); // 16 segmenten voor een hele cirkel
|
||||
|
||||
if (COUNT_OF(builder) < builder_len + arcsteps) // overflow
|
||||
return;
|
||||
|
||||
for (int i = 1; i < arcsteps; i++)
|
||||
builder[builder_len++] = radiuspoint(outlineEllipse.position(), radius, sr, er, ((double) i) / arcsteps);
|
||||
}
|
||||
@@ -527,6 +531,12 @@ WT_Result CWhipFile::my_process_outlineEllipse(WT_Outline_Ellipse & outlineEllip
|
||||
if (deze->m_minMergeDistance < 0)
|
||||
return WT_Result::Success; // We doen niet aan builden
|
||||
|
||||
if (COUNT_OF(deze->m_builder) < deze->m_builder_len + 5) // overflow
|
||||
{
|
||||
deze->m_builder_len = 0; // reset builder
|
||||
return WT_Result::Success;
|
||||
}
|
||||
|
||||
WT_Units units = fixUnits(file.rendition().viewport().viewport_units());
|
||||
|
||||
WT_Point3D dwgPt = units.transform(outlineEllipse.position());
|
||||
@@ -621,6 +631,11 @@ WT_Result CWhipFile::my_process_polyline(WT_Polyline & polyline, WT_File & file)
|
||||
if (!pointnearend(deze, units, polyline.points()[0])) //
|
||||
deze->m_builder_len = 0;
|
||||
|
||||
if (COUNT_OF(deze->m_builder) < deze->m_builder_len + polyline.count()) // overflow
|
||||
{
|
||||
deze->m_builder_len = 0; // reset builder
|
||||
}
|
||||
|
||||
if (deze->m_builder_len == 0 || pointnearend(deze, units, polyline.points()[0]))
|
||||
{
|
||||
for (int i = deze->m_builder_len == 0 ? 0 : 1; i < polyline.count(); i++) // eerste eventueel overslaan, die matchte tenslotte
|
||||
|
||||
@@ -89,7 +89,7 @@ private:
|
||||
long m_vdpi;
|
||||
WT_View m_view; // Initial view
|
||||
|
||||
WT_Logical_Point m_builder[1000]; // om lijnstukken aan elkaar te plakken
|
||||
WT_Logical_Point m_builder[1000]; // om lijnstukken aan elkaar te plakken. 1000 lijkt me genoeg
|
||||
int m_builder_len;
|
||||
|
||||
HRESULT ProcessContouren();
|
||||
|
||||
@@ -6,6 +6,8 @@ void myDoTRACE(LPCTSTR lpszFormat, ...);
|
||||
#define myTRACE 1 ? (void)0 : myDoTRACE
|
||||
#endif
|
||||
|
||||
#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
|
||||
|
||||
long myRound(double const &x);
|
||||
|
||||
const CString myGetLastErrorMsg();
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
V4.25 16-08-2021
|
||||
- FMHN#67510 ARC ondersteuning via minMergeDistance
|
||||
|
||||
V4.24 13-03-2021
|
||||
- Via SymbolOrigin de berekende (centroid) origin kunnen overrulen
|
||||
|
||||
@@ -5,8 +8,8 @@ V4.23 22-10-2020
|
||||
(let op: vergeten versienummer in SLNKDWFVersion.h op te hogen)
|
||||
- Win32 Exceptions bij omgeldig plaatje iets beter afvangen
|
||||
- Betere co<63>rdinaten markers in fac_verify
|
||||
- Font ook resetten voor allereerste symbool
|
||||
- Symbolen commentaar iets duidelijker in ASCII dwf
|
||||
- Font ook resetten voor allereerste symbool
|
||||
- Symbolen commentaar iets duidelijker in ASCII dwf
|
||||
|
||||
V4.22 24-06-2020
|
||||
- DWFExceptions iets beter afvangen
|
||||
|
||||
Reference in New Issue
Block a user