2019-03-17 14:40:57 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
2020-04-14 19:56:54 +03:00
< title > EPS Map< / title >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-05-03 03:01:21 +03:00
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-05-03 03:01:21 +03:00
< script >
MathJax = {
tex: {
inlineMath: '$', '$'], ['\\(', '\\)'
},
svg: {
fontCache: 'global'
}
};
< / script >
< script type = "text/javascript" id = "MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js">
< / script >
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-05-09 15:07:39 +03:00
< link href = "../docs-assets/Preform-Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-14 19:56:54 +03:00
2019-03-17 14:40:57 +02:00
< / head >
2020-05-03 03:01:21 +03:00
< body class = "commentary-font" >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
2020-04-14 19:56:54 +03:00
< h1 > < a href = "../index.html" >
2020-05-03 18:34:53 +03:00
< img src = "../docs-assets/Inform.png" height = 72" >
2020-04-14 19:56:54 +03:00
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Compiler Webs< / h2 > < ul >
2020-03-19 02:11:25 +02:00
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
2020-03-19 02:11:25 +02:00
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
2020-04-14 19:56:54 +03:00
< li > < a href = "index.html" > < span class = "selectedlink" > if< / span > < / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
2020-05-20 02:02:28 +03:00
< / ul > < h2 > Services< / h2 > < ul >
2020-04-14 19:56:54 +03:00
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
2020-05-20 02:02:28 +03:00
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul >
2020-03-19 02:11:25 +02:00
< / nav >
< main role = "main" >
2020-05-03 03:01:21 +03:00
<!-- Weave of 'EPS Map' generated by Inweb -->
< div class = "breadcrumbs" >
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Inform7 Modules< / a > < / li > < li > < a href = "index.html" > if< / a > < / li > < li > < a href = "index.html#3" > Chapter 3: Space and Time< / a > < / li > < li > < b > EPS Map< / b > < / li > < / ul > < / div >
< p class = "purpose" > To render the spatial map of rooms as an EPS (Encapsulated PostScript) file.< / p >
2019-03-17 14:40:57 +02:00
2020-08-09 20:39:31 +03:00
< ul class = "toc" > < li > < a href = "3-em.html#SP8" > § 8. Map parameters< / a > < / li > < li > < a href = "3-em.html#SP9" > § 9. Map parameter scopes< / a > < / li > < li > < a href = "3-em.html#SP13" > § 13. Parsing sentences which set map parameters< / a > < / li > < li > < a href = "3-em.html#SP23" > § 23. Offset notation< / a > < / li > < li > < a href = "3-em.html#SP26" > § 26. Writing text in EPS< / a > < / li > < li > < a href = "3-em.html#SP28" > § 28. EPS header< / a > < / li > < li > < a href = "3-em.html#SP29" > § 29. Circles and rectangles< / a > < / li > < li > < a href = "3-em.html#SP31" > § 31. Straight lines< / a > < / li > < li > < a href = "3-em.html#SP32" > § 32. Dashed arrows< / a > < / li > < li > < a href = "3-em.html#SP33" > § 33. Bezier curves< / a > < / li > < li > < a href = "3-em.html#SP34" > § 34. Line thickness< / a > < / li > < li > < a href = "3-em.html#SP35" > § 35. Text< / a > < / li > < li > < a href = "3-em.html#SP36" > § 36. RGB colours< / a > < / li > < / ul > < hr class = "tocbar" >
2019-03-17 14:40:57 +02:00
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP1" class = "paragraph-anchor" > < / a > < b > § 1. < / b > EPS-format files are vector art, rather than raster art, and are produced
2019-03-17 14:40:57 +02:00
with the intention that authors can tidy them up afterwards using programs
like Adobe Illustrator. By default they aren't produced, so that the following
2020-05-03 03:01:21 +03:00
flag stays < span class = "extract" > < span class = "extract-syntax" > FALSE< / span > < / span > :
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > write_EPS_format_map< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP2" class = "paragraph-anchor" > < / a > < b > § 2. < / b > The EPS map-maker is really a miniature interpreted programming
2019-03-17 14:40:57 +02:00
language in its own right, and here we define that language's data
types and variables.
< / p >
2020-05-03 03:01:21 +03:00
< p class = "commentary" > The "mapping parameters" amount to being variables. The following
2019-03-17 14:40:57 +02:00
structure defines the type and current value for each variable: see
the Inform documentation for details. But note that variables of the
same name are held by many different objects in the map, and their
values inherited by sub-objects.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > an integer< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > BOOL_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > true or false< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 3< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > quoted text< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 4< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > an HTML-safe colour< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 5< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > the name of a font< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > OFF_MDT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > a positional offset in an < / span > \((x,y)\)< span class = "comment-syntax" > grid< / span >
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plotting_parameter< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > specified< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > is it explicitly specified at this scope?< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > name (used only in global scope)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parameter_data_type< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > one of the above types (used only in global scope)< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > string_value< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > string value, if appropriate to this type;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > stream_value< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > text value, if appropriate to this type;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > numeric_value< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > or numeric value, if appropriate to this type< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > plotting_parameter< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
< ul class = "endnotetexts" > < li > The structure plotting_parameter is accessed in 2/bd, 3/tnt, 3/sm, 3/tp, 3/bck, 3/rgn, 3/tm, 3/sc, 3/scn, 4/act, 4/anl, 4/nap, 5/gp, 5/gv, 5/gpr and here.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP3" class = "paragraph-anchor" > < / a > < b > § 3. < / b > A set of variables associated with any map object is called a "scope".
2019-03-17 14:40:57 +02:00
As implied above, the global scope is special: it contains the default
settings passed down to all lower scopes.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > NO_MAP_PARAMETERS< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 35< / span >
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > wider_scope< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > that is, the scope above this< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plotting_parameter< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "constant-syntax" > NO_MAP_PARAMETERS< / span > < span class = "plain-syntax" > ];< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > = {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "font"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "Helvetica"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "minimum-map-width"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 72< / span > < span class = "plain-syntax" > *5 },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "Map"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 24< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "map-outline"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BOOL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "border-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 12< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "vertical-spacing"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BOOL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-length"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "Map"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 16< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "grid-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 72< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-stiffness"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 100< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-thickness"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-offset"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > OFF_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 36< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "DDDDDD"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > ""< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 12< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > FONT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-length"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 5< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-offset"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > OFF_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BOOL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COL_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline-thickness"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > },< / span >
< span class = "plain-syntax" > { < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-shape"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "square"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > };< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > changed_global_room_colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
< ul class = "endnotetexts" > < li > The structure map_parameter_scope is private to this section.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP4" class = "paragraph-anchor" > < / a > < b > § 4. < / b > A "rubric" is a freestanding piece of text written on the map. Typically
2019-03-17 14:40:57 +02:00
it will be a title.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > annotation< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > point_size< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > colour< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > at_offset< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > offset_from< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > CLASS_DEFINITION< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
< ul class = "endnotetexts" > < li > The structure rubric_holder is private to this section.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" class = "paragraph-anchor" > < / a > < b > § 5. < / b > Each horizontal level of the EPS map needs its own storage, not least to
2019-03-17 14:40:57 +02:00
hold the applicable mapping parameters.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > width< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > actual_height< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > height< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > titling< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > titling_point_size< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > map_level< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y_max< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y_min< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > contains_rooms< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > contains_titling< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eps_origin< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > map_parameters< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > CLASS_DEFINITION< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
< ul class = "endnotetexts" > < li > The structure EPS_map_level is private to this section.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6" class = "paragraph-anchor" > < / a > < b > § 6. < / b > The following are the directions at which arrows for UP, DOWN, IN and OUT
2019-03-17 14:40:57 +02:00
are drawn on EPS maps.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > U_vector_EPS< / span > < span class = "plain-syntax" > = {2, < / span > < span class = "constant-syntax" > 3< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > };< / span >
< span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > D_vector_EPS< / span > < span class = "plain-syntax" > = {-2, -3, < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > };< / span >
< span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > IN_vector_EPS< / span > < span class = "plain-syntax" > = {3, < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > };< / span >
< span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OUT_vector_EPS< / span > < span class = "plain-syntax" > = {-3, -2, < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP7" class = "paragraph-anchor" > < / a > < b > § 7. < / b > A convenience when parsing:
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP8" class = "paragraph-anchor" > < / a > < b > § 8. Map parameters. < / b > We convert a parameter's name to its index in the list; slowly, but that
2019-03-17 14:40:57 +02:00
doesn't matter.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / span > :< br / > < a href = "3-em.html#SP11" > § 11< / a > , < a href = "3-em.html#SP12" > § 12< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index_forgivingly< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > < < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Tried to look up < %w> \n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "looked up non-existent map variable"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index_forgivingly< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index_forgivingly< / span > < / span > :< br / > < a href = "3-em.html#SP18_1" > § 18.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > < < / span > < span class = "constant-syntax" > NO_MAP_PARAMETERS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ++)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > -1;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP9" class = "paragraph-anchor" > < / a > < b > § 9. Map parameter scopes. < / b > Here goes, then: an initialised set of parameters.
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::prepare_map_parameter_scope< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::prepare_map_parameter_scope< / span > < / span > :< br / > < a href = "3-em.html#SP24_1" > § 24.1< / a > , < a href = "3-em.html#SP24_2" > § 24.2< / a > < br / > Spatial Map - < a href = "3-sm2.html#SP7_1" > § 7.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > wider_scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > < < / span > < span class = "constant-syntax" > NO_MAP_PARAMETERS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > string_value< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > numeric_value< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10" class = "paragraph-anchor" > < / a > < b > § 10. < / b > The following sets a parameter to a given value (the string value if that's
2020-05-03 03:01:21 +03:00
non-< span class = "extract" > < span class = "extract-syntax" > NULL< / span > < / span > , the number value otherwise), for a particular scope: this is
slightly wastefully specified either as a < span class = "extract" > < span class = "extract-syntax" > map_parameter_scope< / span > < / span > object,
or as a single room, or as a single region, or as a kind of room or region.
If all are null, then the global scope is used.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup4')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup4" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / span > :< br / > < a href = "3-em.html#SP22_4_2" > § 22.4.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > put_integer< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-sm.html#SP15" class = "function-link" > < span class = "function-syntax" > PL::Spatial::object_is_a_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::scope_for_single_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-rgn.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::Regions::object_is_a_region< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > )) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_INSTANCES< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_room< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::obj_in_region< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_integer< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_INSTANCES< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_integer< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-colour"< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > changed_global_room_colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > world_index_colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-colour"< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > world_index_text_colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > ) < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_string< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > put_integer< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > PL::EPSMap::scope_for_single_room< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rm< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::obj_in_region< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > reg< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > reg< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-rgn.html#SP17" class = "function-link" > < span class = "function-syntax" > PL::Regions::enclosing< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > reg< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::obj_in_region< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "3-rgn.html#SP17" class = "function-link" > < span class = "function-syntax" > PL::Regions::enclosing< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > reg< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP11" class = "paragraph-anchor" > < / a > < b > § 11. < / b > String parameters.
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup5')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup5" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / span > :< br / > < a href = "3-em.html#SP25" > § 25< / a > , < a href = "3-em.html#SP25_4" > § 25.4< / a > , < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > , < a href = "3-em.html#SP25_6_1_2" > § 25.6.1.2< / a > , < a href = "3-em.html#SP25_7_1" > § 25.7.1< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > , < a href = "3-em.html#SP25_7_3" > § 25.7.3< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > wider_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "scope exhausted in looking up map parameter"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > string_value< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::put_string_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup6')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup6" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::put_string_mp< / span > < / span > :< br / > < a href = "3-em.html#SP10" > § 10< / a > , < a href = "3-em.html#SP24_3" > § 24.3< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > string_value< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > PL::EPSMap::get_stream_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup7')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup7" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::get_stream_mp< / span > < / span > :< br / > < a href = "3-em.html#SP25_4" > § 25.4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > wider_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "scope exhausted in looking up map parameter"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > stream_value< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::put_stream_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup8')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup8" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::put_stream_mp< / span > < / span > :< br / > < a href = "3-em.html#SP24_1" > § 24.1< / a > , < a href = "3-em.html#SP24_2" > § 24.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > stream_value< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::duplicate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP12" class = "paragraph-anchor" > < / a > < b > § 12. < / b > Integer parameters.
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup9')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup9" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / span > :< br / > < a href = "3-em.html#SP24_1" > § 24.1< / a > , < a href = "3-em.html#SP25" > § 25< / a > , < a href = "3-em.html#SP25_1" > § 25.1< / a > , < a href = "3-em.html#SP25_4" > § 25.4< / a > , < a href = "3-em.html#SP25_5" > § 25.5< / a > , < a href = "3-em.html#SP25_6" > § 25.6< / a > , < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > , < a href = "3-em.html#SP25_6_1_2" > § 25.6.1.2< / a > , < a href = "3-em.html#SP25_7" > § 25.7< / a > , < a href = "3-em.html#SP25_7_1" > § 25.7.1< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > , < a href = "3-em.html#SP25_7_3" > § 25.7.3< / a > , < a href = "3-em.html#SP25_8" > § 25.8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > wider_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "scope exhausted in looking up map parameter"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > numeric_value< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::put_int_mp< / span > < button class = "popup" onclick = "togglePopup('usagePopup10')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup10" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::put_int_mp< / span > < / span > :< br / > < a href = "3-em.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_map_variable_index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > specified< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > numeric_value< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP13" class = "paragraph-anchor" > < / a > < b > § 13. Parsing sentences which set map parameters. < / b > This happens in two passes: pass 1 before HTML mapping, pass 2 before EPS mapping.
2019-03-17 14:40:57 +02:00
< / p >
2020-08-02 21:04:24 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > TRAVERSE_FOR_MAP1_SMFT< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > TRAVERSE_FOR_MAP2_SMFT< / span >
< / pre >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::traverse_for_map_parameters< / span > < button class = "popup" onclick = "togglePopup('usagePopup11')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup11" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::traverse_for_map_parameters< / span > < / span > :< br / > < a href = "3-em.html#SP24" > § 24< / a > < br / > Spatial Map - < a href = "3-sm2.html#SP45" > § 45< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < a href = "3-sm2.html#SP7_4" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::initialise_page_directions< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SyntaxTree::traverse_intp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::syntax_tree< / span > < span class = "plain-syntax" > (), < / span > < a href = "3-em.html#SP13" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::look_for_map_parameters< / span > < / a > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::look_for_map_parameters< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Node::get_type< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > SENTENCE_NT< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > & & (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > )) {< / span >
2020-08-02 21:04:24 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (*< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > MajorNodes::try_special_meaning< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > TRAVERSE_FOR_MAP1_SMFT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > MajorNodes::try_special_meaning< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > TRAVERSE_FOR_MAP2_SMFT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP14" class = "paragraph-anchor" > < / a > < b > § 14. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-30 01:56:59 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::index_map_with_SMF< / span > < button class = "popup" onclick = "togglePopup('usagePopup12')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup12" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::index_map_with_SMF< / span > < / span > :< br / > IF Special Meanings - < a href = "1-ism.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > task< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OW< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > )?(< / span > < span class = "identifier-syntax" > NPs< / span > < span class = "plain-syntax" > [1]):< / span > < span class = "identifier-syntax" > EMPTY_WORDING< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > task< / span > < span class = "plain-syntax" > ) { < / span > < span class = "comment-syntax" > "Index map with ..."< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ACCEPT_SMFT:< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "function-syntax" > < np-articled-list> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OW< / span > < span class = "plain-syntax" > );< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < rp> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRAVERSE_FOR_MAP1_SMFT:< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP22" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < / a > < span class = "plain-syntax" > (1, < / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRAVERSE_FOR_MAP2_SMFT:< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP22" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < / a > < span class = "plain-syntax" > (2, < / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRAVERSE_FOR_MAP_INDEX_SMFT:< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\nIndex map with %+W.\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP15" class = "paragraph-anchor" > < / a > < b > § 15. < / b > This conveniently filters instance names to accept only those of kind
2019-03-17 14:40:57 +02:00
"direction".
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < direction-name> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 1 }; if (Instances::of_kind(RP[1], K_direction) == FALSE) return FALSE;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16" class = "paragraph-anchor" > < / a > < b > § 16. < / b > The subject noun phrase of sentences like this:
2019-03-17 14:40:57 +02:00
< / p >
< blockquote >
< p > Index map with Chamber mapped north of Cave and EPS file.< / p >
< / blockquote >
2020-05-03 03:01:21 +03:00
< p class = "commentary" > is an articled list of subjects (in this case, two of them); each subject
2019-03-17 14:40:57 +02:00
is parsed with the following grammar, which is almost a mini-language in
itself.
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < index-map-sentence-subject> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > eps< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > file< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { EPSFILE_IMW, - }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < direction-name> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > mapped< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > as< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < direction-name> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { MAPPED_AS_IMW, -, < < instance:x> > = RP[1], < < instance:y> > = RP[2] }< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > mapped< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > as< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapDirectionClue problem< / span > < span class = "named-paragraph-number" > 16.1< / span > < / a > < / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > mapped< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-positioning> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { MAPPED_IMW, -, < < instance:x> > = RP[1], < < instance:y> > = RP[2] }< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > mapped< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapPlacement problem< / span > < span class = "named-paragraph-number" > 16.2< / span > < / a > < / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > set< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > to< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-value> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { PL::EPSMap::setting(R[1]), -, < < scoping> > = R[1], < < msvtype> > = R[2] }< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > set< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > to< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapSettingTooLong problem< / span > < span class = "named-paragraph-number" > 16.3< / span > < / a > < / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > set< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > to< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapSettingOfUnknown problem< / span > < span class = "named-paragraph-number" > 16.4< / span > < / a > < / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > rubric< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > {< quoted-text-without-subs> }< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ***< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_IMW, - }< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_5" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapHintUnknown problem< / span > < span class = "named-paragraph-number" > 16.5< / span > < / a > < / span >
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < map-positioning> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > of/from< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TRUE, RP[2], < < instance:dir> > = RP[1] }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > above< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TRUE, RP[1], < < instance:dir> > = I_up }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > below< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TRUE, RP[1], < < instance:dir> > = I_down }< / span >
2020-05-09 15:07:39 +03:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_1" class = "paragraph-anchor" > < / a > < b > § 16.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapDirectionClue problem< / span > < span class = "named-paragraph-number" > 16.1< / span > < / span > < span class = "Preform-comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapDirectionClue< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "You can only say 'Index map with D mapped as E.' "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "when D and E are directions."< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16" > § 16< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_2" class = "paragraph-anchor" > < / a > < b > § 16.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapPlacement problem< / span > < span class = "named-paragraph-number" > 16.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapPlacement< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The map placement hint should either have the form 'Index map with X "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "mapped east of Y' or 'Index map with X mapped above/below Y'."< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16" > § 16< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_3" class = "paragraph-anchor" > < / a > < b > § 16.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapSettingTooLong problem< / span > < span class = "named-paragraph-number" > 16.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapSettingTooLong< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The value supplied has to be a single item, a number, a word "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "or some text in double-quotes: this looks too long to be right."< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16" > § 16< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_4" class = "paragraph-anchor" > < / a > < b > § 16.4. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapSettingOfUnknown problem< / span > < span class = "named-paragraph-number" > 16.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_4_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Actually issue PM_MapSettingOfUnknown problem< / span > < span class = "named-paragraph-number" > 16.4.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16" > § 16< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_5" class = "paragraph-anchor" > < / a > < b > § 16.5. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapHintUnknown problem< / span > < span class = "named-paragraph-number" > 16.5< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapHintUnknown< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The general form for this is 'Index map with ...' and then a "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "list of clues, such as 'the Ballroom mapped east of the Terrace', "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "or 'room-size of the Ballroom set to 100'."< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16" > § 16< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP17" class = "paragraph-anchor" > < / a > < b > § 17. < / b > < / p >
2020-07-28 21:19:38 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::setting< / span > < button class = "popup" onclick = "togglePopup('usagePopup13')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup13" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::setting< / span > < / span > :< br / > < a href = "3-em.html#SP16" > § 16< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > SETTING_IMW< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP18" class = "paragraph-anchor" > < / a > < b > § 18. < / b > Now we parse the setting to be set. For example,
2019-03-17 14:40:57 +02:00
< / p >
< blockquote >
< p > title-size of the first room< / p >
< / blockquote >
< blockquote >
< p > border-size of level 1< / p >
< / blockquote >
< blockquote >
< p > room-outline-thickness of the Taj Mahal< / p >
< / blockquote >
< blockquote >
< p > title-size< / p >
< / blockquote >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < map-setting> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-parameter> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > of< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-scope> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { R[2], -, < < wchar_t:partext> > = RP[1], < < parindex> > = R[1] }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-parameter> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { ENTIRE_MAP_SCOPE, -, < < wchar_t:partext> > = RP[1], < < parindex> > = R[1] }< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > of< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-scope> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP18_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Issue PM_MapSettingUnknown problem< / span > < span class = "named-paragraph-number" > 18.2< / span > < / a > < / span >
2019-03-17 14:40:57 +02:00
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < map-setting-scope> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < definite-article> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-scope-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 2 }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-scope-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { pass 1 }< / span >
2019-03-17 14:40:57 +02:00
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < map-setting-scope-unarticled> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > first< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > room< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { FIRST_ROOM_MAP_SCOPE, - }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > level< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < cardinal-number> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { LEVEL_MAP_SCOPE, -, < < level> > = R[1] }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < k-kind> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { KIND_MAP_SCOPE, -, < < kind:kscope> > = RP[1] }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < instance-of-object> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { INSTANCE_MAP_SCOPE, -, < < instance:iscope> > = RP[1] }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP18_1" class = "paragraph-anchor" > < / a > < b > § 18.1. < / b > The map parameters all have one-word, sometimes hyphenated, names, such
2019-03-17 14:40:57 +02:00
as the following:
< / p >
< blockquote >
< p > vertical-spacing, monochrome, annotation-size< / p >
< / blockquote >
2020-05-03 03:01:21 +03:00
< p class = "commentary" > For now, at least, these are all in English only.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < map-parameter> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > internal< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > {< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > int< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-identifier-syntax" > i< / span > < span class = "Preform-plain-syntax" > ;< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-identifier-syntax" > wchar_t< / span > < span class = "Preform-plain-syntax" > *< / span > < span class = "Preform-identifier-syntax" > parameter_name< / span > < span class = "Preform-plain-syntax" > = < / span > < span class = "Preform-identifier-syntax" > Lexer::word_text< / span > < span class = "Preform-plain-syntax" > (< / span > < span class = "Preform-identifier-syntax" > Wordings::first_wn< / span > < span class = "Preform-plain-syntax" > (< / span > < span class = "Preform-identifier-syntax" > W< / span > < span class = "Preform-plain-syntax" > ));< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > if< / span > < span class = "Preform-plain-syntax" > ((< / span > < span class = "Preform-identifier-syntax" > Wordings::length< / span > < span class = "Preform-plain-syntax" > (< / span > < span class = "Preform-identifier-syntax" > W< / span > < span class = "Preform-plain-syntax" > ) == < / span > < span class = "Preform-constant-syntax" > 1< / span > < span class = "Preform-plain-syntax" > ) & & < / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > ((< / span > < span class = "Preform-identifier-syntax" > i< / span > < span class = "Preform-plain-syntax" > = < / span > < a href = "3-em.html#SP8" class = "function-link" > < span class = "Preform-function-syntax" > PL::EPSMap::get_map_variable_index_forgivingly< / span > < / a > < span class = "Preform-plain-syntax" > (< / span > < span class = "Preform-identifier-syntax" > parameter_name< / span > < span class = "Preform-plain-syntax" > ))> =0)) {< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > ==> { < / span > < span class = "Preform-identifier-syntax" > i< / span > < span class = "Preform-plain-syntax" > , < / span > < span class = "Preform-identifier-syntax" > parameter_name< / span > < span class = "Preform-plain-syntax" > };< / span >
2020-05-09 15:07:39 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > return< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-identifier-syntax" > TRUE< / span > < span class = "Preform-plain-syntax" > ;< / span >
< span class = "Preform-plain-syntax" > }< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > ==> { < / span > < span class = "Preform-identifier-syntax" > fail< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-identifier-syntax" > nonterminal< / span > < span class = "Preform-plain-syntax" > };< / span >
2020-05-09 15:07:39 +03:00
< span class = "Preform-plain-syntax" > }< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP18_2" class = "paragraph-anchor" > < / a > < b > § 18.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Issue PM_MapSettingUnknown problem< / span > < span class = "named-paragraph-number" > 18.2< / span > < / span > < span class = "Preform-comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapSettingUnknown< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The parameter has to be one of the fixed named set given in "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "the documentation, like 'room-name'. All parameters are one "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "word, but many are hyphenated. (Also, note that 'colour' has the "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "Canadian/English spelling, not the American one 'color'.)"< / span > < span class = "plain-syntax" > );< / span >
2020-07-28 21:19:38 +03:00
< span class = "plain-syntax" > ==> { < / span > < span class = "constant-syntax" > NO_IMW< / span > < span class = "plain-syntax" > , - };< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP18" > § 18< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP19" class = "paragraph-anchor" > < / a > < b > § 19. < / b > The value of map settings is as follows. In retrospect, the "booleans"
2019-03-17 14:40:57 +02:00
perhaps should just have been "true" and "false", not "on" and "off".
Never mind.
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < map-setting-value> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < cardinal-number> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { INT_MDT, -, < < msvalue> > = R[1], < < msword> > = Wordings::first_wn(W) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < quoted-text> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TEXT_MDT, -, < < msvalue> > = R[1], < < msword> > = Wordings::first_wn(W) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-setting-boolean> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { BOOL_MDT, -, < < msvalue> > = R[1], < < msword> > = Wordings::first_wn(W) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-offset> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { OFF_MDT, -, < < msvalue> > = R[1], < < msword> > = Wordings::first_wn(W) }; if (R[1] == ERRONEOUS_OFFSET_VALUE) return FALSE;< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ###< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { -1, -, < < msword> > = Wordings::first_wn(W) } < / span > < span class = "Preform-comment-syntax" > leads to a problem message later< / span >
2020-05-09 15:07:39 +03:00
< span class = "Preform-function-syntax" > < map-setting-boolean> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > on< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { TRUE, - }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > off< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { FALSE, - }< / span >
2020-05-09 15:07:39 +03:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP20" class = "paragraph-anchor" > < / a > < b > § 20. < / b > Map offsets have a cutesy notation: < span class = "extract" > < span class = "Preform-extract-syntax" > 10& -30< / span > < / span > , for example, written as a
2019-03-17 14:40:57 +02:00
single word. The following nonterminal actually matches any single word
(so that problems can be caught later, not now), returning either a valid
2020-05-09 15:07:39 +03:00
offset or else the < span class = "extract" > < span class = "Preform-extract-syntax" > ERRONEOUS_OFFSET_VALUE< / span > < / span > sentinel.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < map-offset> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > internal< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 1< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > {< / span >
2020-08-09 20:39:31 +03:00
< span class = "Preform-plain-syntax" > ==> { < / span > < a href = "3-em.html#SP23" class = "function-link" > < span class = "Preform-function-syntax" > PL::EPSMap::parse_eps_map_offset< / span > < / a > < span class = "Preform-plain-syntax" > (< / span > < span class = "Preform-identifier-syntax" > W< / span > < span class = "Preform-plain-syntax" > ), - };< / span >
2020-05-09 15:07:39 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > return< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-identifier-syntax" > TRUE< / span > < span class = "Preform-plain-syntax" > ;< / span >
< span class = "Preform-plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP21" class = "paragraph-anchor" > < / a > < b > § 21. < / b > The one part of the grammar not explicitly spelled out above was what to do
2019-03-17 14:40:57 +02:00
with the optional text which follows a rubric. This is a sequence of any of
the following:
< / p >
2020-05-09 15:07:39 +03:00
< pre class = "Preform-displayed-code all-displayed-code code-font" >
< span class = "Preform-function-syntax" > < map-rubric> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ::=< / span >
2020-07-28 21:19:38 +03:00
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > size< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < cardinal-number> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ***< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_SIZE, -, < < rsize> > = R[1], < < edge> > = Wordings::first_wn(WR[1]) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > font< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > {< quoted-text-without-subs> }< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ***< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_FONT, -, < < rfont> > = R[1], < < edge> > = Wordings::first_wn(WR[2]) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > colour< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > {< quoted-text-without-subs> }< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ***< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_COLOUR, -, < < rcol> > = R[1], < < edge> > = Wordings::first_wn(WR[2]) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > at< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-offset> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > from< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ...< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > |< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_OFFSET, -, < < roff> > = R[1], < < edge> > = Wordings::first_wn(WR[1]) }< / span >
< span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > at< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-function-syntax" > < map-offset> < / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > ***< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-reserved-syntax" > ==> < / span > < span class = "Preform-plain-syntax" > { RUBRIC_POSITION, -, < < roff> > = R[1], < < edge> > = Wordings::first_wn(WR[1]) }< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-05-20 02:02:28 +03:00
< ul class = "endnotetexts" > < li > This is < a href = "../words-module/4-ap.html" class = "internal" > Preform grammar< / a > , not regular C code.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22" class = "paragraph-anchor" > < / a > < b > § 22. < / b > < / p >
2020-05-03 03:01:21 +03:00
2020-05-09 15:07:39 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > NO_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 0< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > EPSFILE_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 1< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > MAPPED_AS_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 2< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > MAPPED_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 3< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > SETTING_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 4< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_IMW< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 5< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_SIZE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 1< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_FONT< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 2< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_COLOUR< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 3< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_OFFSET< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 4< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > RUBRIC_POSITION< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 5< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > FIRST_ROOM_MAP_SCOPE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 1< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > LEVEL_MAP_SCOPE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 2< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > KIND_MAP_SCOPE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 3< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > INSTANCE_MAP_SCOPE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 4< / span >
< span class = "definition-keyword" > define< / span > < span class = "Preform-constant-syntax" > ENTIRE_MAP_SCOPE< / span > < span class = "Preform-plain-syntax" > < / span > < span class = "Preform-constant-syntax" > 5< / span >
2020-05-03 03:01:21 +03:00
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < button class = "popup" onclick = "togglePopup('usagePopup14')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup14" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < / span > :< br / > < a href = "3-em.html#SP14" > § 14< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_type< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > AND_NT< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP22" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP22" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::new_map_hint_sentence< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > current_sentence< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "comment-syntax" > the following take effect on pass 1< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "function-syntax" > < index-map-sentence-subject> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ));< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < r> > < / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > EPSFILE_IMW:< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > write_EPS_format_map< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > MAPPED_AS_IMW:< / span > < span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Parse "Index map with starboard mapped as east"-style sentences< / span > < span class = "named-paragraph-number" > 22.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > MAPPED_IMW:< / span > < span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Parse "Index map with Ballroom mapped north of the Hallway"-style sentences< / span > < span class = "named-paragraph-number" > 22.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > SETTING_IMW:< / span > < span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Parse "Index map with room size of Ballroom set to 72"-style sentences< / span > < span class = "named-paragraph-number" > 22.4< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_IMW:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Parse "Index map with rubric "Here Be Dragons""-style sentences< / span > < span class = "named-paragraph-number" > 22.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_1" class = "paragraph-anchor" > < / a > < b > § 22.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Parse "Index map with starboard mapped as east"-style sentences< / span > < span class = "named-paragraph-number" > 22.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-sm2.html#SP7_5" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::map_direction_as_if< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < instance:x> > < / span > < span class = "plain-syntax" > , < / span > < span class = "function-syntax" > < < instance:y> > < / span > < span class = "plain-syntax" > );< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22" > § 22< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_2" class = "paragraph-anchor" > < / a > < b > § 22.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Parse "Index map with Ballroom mapped north of the Hallway"-style sentences< / span > < span class = "named-paragraph-number" > 22.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Instances::of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < instance:dir> > < / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_direction< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapPlacementDirection< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The direction given as a hint for map placement wasn't "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "one that I know of."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < instance:x> > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < instance:y> > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "function-syntax" > < < instance:dir> > )-> < / span > < span class = "element-syntax" > direction_index< / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) || (< / span > < a href = "3-sm.html#SP15" class = "function-link" > < span class = "function-syntax" > PL::Spatial::object_is_a_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapFromNonRoom< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The first-named thing must be a room (beware ambiguities!)."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) || (< / span > < a href = "3-sm.html#SP15" class = "function-link" > < span class = "function-syntax" > PL::Spatial::object_is_a_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapToNonRoom< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The second-named thing must be a room (beware ambiguities!)."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-sm2.html#SP7_10" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::direction_is_lateral< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapNonLateral< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The direction given as a hint for map placement must be "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "a lateral direction (not up, down, above, below, inside "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "or outside)."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < a href = "3-sm2.html#SP7_3" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::lock_exit_in_place< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22" > § 22< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_3" class = "paragraph-anchor" > < / a > < b > § 22.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Parse "Index map with rubric "Here Be Dragons""-style sentences< / span > < span class = "named-paragraph-number" > 22.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RW< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > GET_RW< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < index-map-sentence-subject> < / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RESTW< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > GET_RW< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < index-map-sentence-subject> < / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RW< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > annotation< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RW< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > point_size< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 12< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > 12-point type< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > font< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< font> "< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > meaning the default font< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "000000"< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > black< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > at_offset< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 10001< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > the offset < / span > \((1, 1)\)
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > offset_from< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RESTW< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < = < / span > < span class = "identifier-syntax" > Wordings::last_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RESTW< / span > < span class = "plain-syntax" > )) {< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < map-rubric> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::from< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RESTW< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < edge> > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < r> > < / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_SIZE:< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > point_size< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < rsize> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_FONT:< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < rfont> > < / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > font< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < rfont> > < / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_COLOUR:< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_3_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Make a rubric colour setting< / span > < span class = "named-paragraph-number" > 22.3.1< / span > < / a > < / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_OFFSET:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RUBRIC_POSITION:< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_3_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Make a rubric offset setting< / span > < span class = "named-paragraph-number" > 22.3.2< / span > < / a > < / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapBadRubric< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Unfortunately the details of that rubric seem to be "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "in error (a lame message, but an accurate one)."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22" > § 22< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_3_1" class = "paragraph-anchor" > < / a > < b > § 22.3.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Make a rubric colour setting< / span > < span class = "named-paragraph-number" > 22.3.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < rcol> > < / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > thec< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > HTML::translate_colour_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < rcol> > < / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > thec< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapUnknownColour< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "There's no such map colour."< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > colour< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > thec< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22_3" > § 22.3< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_3_2" class = "paragraph-anchor" > < / a > < b > § 22.3.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Make a rubric offset setting< / span > < span class = "named-paragraph-number" > 22.3.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < roff> > < / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > ERRONEOUS_OFFSET_VALUE< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapUnknownOffset< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "There's no such offset."< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > at_offset< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < roff> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < r> > < / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > RUBRIC_OFFSET< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Instances::parse_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::from< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Wordings::last_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RESTW< / span > < span class = "plain-syntax" > ) + < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapUnknownOffsetBase< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "There's no such room to be offset from."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > offset_from< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22_3" > § 22.3< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_4" class = "paragraph-anchor" > < / a > < b > § 22.4. < / b > Finally, then, sentences which set parameters for the EPS map-maker.
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Parse "Index map with room size of Ballroom set to 72"-style sentences< / span > < span class = "named-paragraph-number" > 22.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > allow_on_pass_2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_4_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Determine the scope for which the parameter is being set< / span > < span class = "named-paragraph-number" > 22.4.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > allow_on_pass_2< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < wchar_t:partext> > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_of_parameter< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < parindex> > < / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP22_4_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Check that the value has the right type for this map parameter, and set it< / span > < span class = "named-paragraph-number" > 22.4.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22" > § 22< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_4_1" class = "paragraph-anchor" > < / a > < b > § 22.4.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Determine the scope for which the parameter is being set< / span > < span class = "named-paragraph-number" > 22.4.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bad_scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < scoping> > < / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FIRST_ROOM_MAP_SCOPE:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > benchmark_room< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > benchmark_room< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LEVEL_MAP_SCOPE:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > we'll pick this up on pass 2 when levels exist< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > allow_on_pass_2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ln< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < level> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > & & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_level< / span > < span class = "plain-syntax" > - < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > benchmark_room< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > ln< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapLevelMisnamed< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Layers of the map must be called 'level N', where "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "N is a number, and level 0 is the one which contains "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "the first room."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > KIND_MAP_SCOPE:< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < kind:kscope> > < / span > < span class = "plain-syntax" > ;< / span >
2020-08-11 17:07:58 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > ) & & < / span >
2020-08-11 14:38:21 +03:00
< span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object_of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_room< / span > < span class = "plain-syntax" > )) ||< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object_of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_region< / span > < span class = "plain-syntax" > )))) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOGIF< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SPATIAL_MAP< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Setting for kind %u\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bad_scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > INSTANCE_MAP_SCOPE:< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < a href = "3-sm.html#SP15" class = "function-link" > < span class = "function-syntax" > PL::Spatial::object_is_a_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < instance:iscope> > < / span > < span class = "plain-syntax" > )) ||< / span >
< span class = "plain-syntax" > (< / span > < a href = "3-rgn.html#SP8" class = "function-link" > < span class = "function-syntax" > PL::Regions::object_is_a_region< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < < instance:iscope> > < / span > < span class = "plain-syntax" > )))< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < instance:iscope> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOGIF< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SPATIAL_MAP< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Setting for object $O\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bad_scope< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ENTIRE_MAP_SCOPE:< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > K_room< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bad_scope< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP16_4_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Actually issue PM_MapSettingOfUnknown problem< / span > < span class = "named-paragraph-number" > 16.4.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22_4" > § 22.4< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP16_4_1" class = "paragraph-anchor" > < / a > < b > § 16.4.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Actually issue PM_MapSettingOfUnknown problem< / span > < span class = "named-paragraph-number" > 16.4.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > index_map_with_pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > StandardProblems::map_problem< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapSettingOfUnknown< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > index_map_with_p< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "The parameter has to be 'of' either 'the first room' "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "or a specific named room (beware ambiguities!) or "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "a level such as 'level 0' (the first room is by "< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "definition on level 0), or a region, or a kind of room."< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP16_4" > § 16.4< / a > , < a href = "3-em.html#SP22_4_1" > § 22.4.1< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP22_4_2" class = "paragraph-anchor" > < / a > < b > § 22.4.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Check that the value has the right type for this map parameter, and set it< / span > < span class = "named-paragraph-number" > 22.4.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > type_wanted< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > global_map_scope< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > values< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > index_of_parameter< / span > < span class = "plain-syntax" > ].< / span > < span class = "element-syntax" > parameter_data_type< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < msvtype> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > char< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > ""< / span > < span class = "plain-syntax" > ;< / span >
2020-05-09 15:07:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < msword> > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_wanted< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > INT_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "an integer"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > INT_MDT< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "function-syntax" > < < msvalue> > < / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OFF_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "an offset in the form 34& -450"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > OFF_MDT< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "function-syntax" > < < msvalue> > < / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > BOOL_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "'on' or 'off'"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > BOOL_MDT< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "function-syntax" > < < msvalue> > < / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEXT_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "some text in double-quotes"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FONT_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "a font name in double-quotes"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > COL_MDT:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "a colour name in double-quotes"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > type_found< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > TEXT_MDT< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Word::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > col< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > HTML::translate_colour_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > col< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP10" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parameter_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > scope_k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > col< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Unexpected map parameter data type"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pass< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > StandardProblems::map_problem_wanted_but< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > _p_< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PM_MapSettingTypeFailed< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i_wanted_a< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP22_4" > § 22.4< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP23" class = "paragraph-anchor" > < / a > < b > § 23. Offset notation. < / b > The offset parameter \((x, y)\) is stored as the integer \(10000y + x\). Except
2020-05-03 03:01:21 +03:00
for the error value, we are required to have \(-9999 \leq x, y \leq 9999\), and
the syntax to specify this is two literal numbers divided by an ampersand.
For instance, < span class = "extract" > < span class = "extract-syntax" > 28& -125< / span > < / span > means \((28, -125)\) which is stored as \(-1249972\).
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > ERRONEOUS_OFFSET_VALUE< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 100000000< / span >
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::parse_eps_map_offset< / span > < button class = "popup" onclick = "togglePopup('usagePopup15')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup15" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::parse_eps_map_offset< / span > < / span > :< br / > < a href = "3-em.html#SP20" > § 20< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::one_word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > ) > = < / span > < span class = "constant-syntax" > 30< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > ERRONEOUS_OFFSET_VALUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > match_results< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mr< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Regexp::create_mr< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xbit< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ybit< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Regexp::match< / span > < span class = "plain-syntax" > (& < / span > < span class = "identifier-syntax" > mr< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "(%c*?)& (%c*)"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xbit< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::atoi< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > mr< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > [0], < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > ybit< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::atoi< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > mr< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > [1], < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Regexp::dispose_of< / span > < span class = "plain-syntax" > (& < / span > < span class = "identifier-syntax" > mr< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > ERRONEOUS_OFFSET_VALUE< / span > < span class = "plain-syntax" > ;< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xbit< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > ybit< / span > < span class = "plain-syntax" > *10000;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP24" class = "paragraph-anchor" > < / a > < b > § 24. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::render_map_as_EPS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP24_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Create the main EPS map super-level< / span > < span class = "named-paragraph-number" > 24.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > Universe< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > corner1< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > > =< / span > < span class = "identifier-syntax" > Universe< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > corner0< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > --)< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP24_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Create an EPS map level for this z-slice< / span > < span class = "named-paragraph-number" > 24.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP13" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::traverse_for_map_parameters< / span > < / a > < span class = "plain-syntax" > (2);< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > changed_global_room_colour< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP24_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Inherit EPS room colours from those used in the World Index< / span > < span class = "named-paragraph-number" > 24.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > write_EPS_format_map< / span > < span class = "plain-syntax" > ) < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP24_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Open a stream and write the EPS map to it< / span > < span class = "named-paragraph-number" > 24.4< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP24_1" class = "paragraph-anchor" > < / a > < b > § 24.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Create the main EPS map super-level< / span > < span class = "named-paragraph-number" > 24.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > width< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "minimum-map-width"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > actual_height< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling_point_size< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::new< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Map"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_titling< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP9" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::prepare_map_parameter_scope< / span > < / a > < span class = "plain-syntax" > (& (< / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_stream_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title"< / span > < span class = "plain-syntax" > , & (< / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > main_eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP24" > § 24< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP24_2" class = "paragraph-anchor" > < / a > < b > § 24.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Create an EPS map level for this z-slice< / span > < span class = "named-paragraph-number" > 24.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_level< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_max< / span > < span class = "plain-syntax" > = -100000, < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_min< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 100000< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_min< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_min< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_max< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_max< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > char< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > level_rubric< / span > < span class = "plain-syntax" > = < / span > < span class = "string-syntax" > "Map"< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > par< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < a href = "3-hm.html#SP7" class = "function-link" > < span class = "function-syntax" > PL::HTMLMap::devise_level_rubric< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > level_rubric< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > par< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_rubric< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > par< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_titling< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_titling< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP9" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::prepare_map_parameter_scope< / span > < / a > < span class = "plain-syntax" > (& (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_stream_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle"< / span > < span class = "plain-syntax" > , & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > wider_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP24" > § 24< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP24_3" class = "paragraph-anchor" > < / a > < b > § 24.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Inherit EPS room colours from those used in the World Index< / span > < span class = "named-paragraph-number" > 24.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::put_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-colour"< / span > < span class = "plain-syntax" > , & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > world_index_colour< / span > < span class = "plain-syntax" > );< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP24" > § 24< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP24_4" class = "paragraph-anchor" > < / a > < b > § 24.4. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Open a stream and write the EPS map to it< / span > < span class = "named-paragraph-number" > 24.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > filename< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Task::epsmap_file< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > EPS_struct< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > EPS< / span > < span class = "plain-syntax" > = & < / span > < span class = "identifier-syntax" > EPS_struct< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > STREAM_OPEN_TO_FILE< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EPS< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ISO_ENC< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
2020-05-21 02:11:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Problems::fatal_on_file< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Can't open EPS map file"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > F< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP25" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_map< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EPS< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > STREAM_CLOSE< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EPS< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP24" > § 24< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25" class = "paragraph-anchor" > < / a > < b > § 25. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_map< / span > < button class = "popup" onclick = "togglePopup('usagePopup16')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup16" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_map< / span > < / span > :< br / > < a href = "3-em.html#SP24_4" > § 24.4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > blh< / span > < span class = "plain-syntax" > , < / span > < span class = "comment-syntax" > total height of the EPS map area (not counting border)< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > blw< / span > < span class = "plain-syntax" > , < / span > < span class = "comment-syntax" > total width of the EPS map area (not counting border)< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "border-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "vertical-spacing"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Compute the dimensions of the EPS map< / span > < span class = "named-paragraph-number" > 25.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bounding_box_width< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > blw< / span > < span class = "plain-syntax" > +2*< / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bounding_box_height< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > blh< / span > < span class = "plain-syntax" > +2*< / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP28" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_header< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bounding_box_width< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bounding_box_height< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ), < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "map-outline"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw a big rectangular outline around the entire EPS map< / span > < span class = "named-paragraph-number" > 25.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "grid-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "map-outline"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw an intermediate strut in the big rectangular outline< / span > < span class = "named-paragraph-number" > 25.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_titling< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw the title for this EPS map level< / span > < span class = "named-paragraph-number" > 25.4< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_level< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_5" class = "named-paragraph-link" > < span class = "named-paragraph" > Establish EPS coordinates for this room< / span > < span class = "named-paragraph-number" > 25.5< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_level< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_6" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw the map connections from this room as EPS paths< / span > < span class = "named-paragraph-number" > 25.6< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_ROOMS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_level< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_7" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw the boxes for the rooms themselves< / span > < span class = "named-paragraph-number" > 25.7< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_8" class = "named-paragraph-link" > < span class = "named-paragraph" > Plot all of the rubrics onto the EPS map< / span > < span class = "named-paragraph-number" > 25.8< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_1" class = "paragraph-anchor" > < / a > < b > § 25.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compute the dimensions of the EPS map< / span > < span class = "named-paragraph-number" > 25.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > total_chunk_height< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > max_chunk_width< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_BACKWARDS_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > EPS_map_level< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > map_parameters< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "grid-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling_point_size< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > width< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > Universe< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > corner1< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > Universe< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > corner0< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > +2)*< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > allocation_id< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > actual_height< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > actual_height< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_max< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_min< / span > < span class = "plain-syntax" > +1)*< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > eps_origin< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > total_chunk_height< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > height< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > actual_height< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > height< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_titling< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > height< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > titling_point_size< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > total_chunk_height< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > height< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > max_chunk_width< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > width< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > max_chunk_width< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > width< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > blh< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > total_chunk_height< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > blw< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > max_chunk_width< / span > < span class = "plain-syntax" > ;< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_2" class = "paragraph-anchor" > < / a > < b > § 25.2. < / b > The outline is a little like drawing the shape of a bookcase: there's a big
2019-03-17 14:40:57 +02:00
rectangle around the whole thing...
< / p >
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw a big rectangular outline around the entire EPS map< / span > < span class = "named-paragraph-number" > 25.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "newpath %% Ruled outline outer box of map\n"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP29" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > blw< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > blh< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "stroke\n"< / span > < span class = "plain-syntax" > );< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_3" class = "paragraph-anchor" > < / a > < b > § 25.3. < / b > ...and then there are horizontal shelves dividing it into compartments.
2019-03-17 14:40:57 +02:00
(Each map level will be drawn inside one of these compartments.)
< / p >
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw an intermediate strut in the big rectangular outline< / span > < span class = "named-paragraph-number" > 25.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "newpath %% Ruled horizontal line\n"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP31" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_horizontal_line_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > blw< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > eps_origin< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "stroke\n"< / span > < span class = "plain-syntax" > );< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_4" class = "paragraph-anchor" > < / a > < b > § 25.4. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw the title for this EPS map level< / span > < span class = "named-paragraph-number" > 25.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > eps_origin< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > actual_height< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > contains_rooms< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP27" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_stream_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_stream_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 128< / span > < span class = "plain-syntax" > ,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > *2, < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > ,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "subtitle-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP27" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_stream_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_stream_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 128< / span > < span class = "plain-syntax" > ,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > *2, < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > +2*< / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > ,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "title-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_5" class = "paragraph-anchor" > < / a > < b > § 25.5. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Establish EPS coordinates for this room< / span > < span class = "named-paragraph-number" > 25.5< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > Universe< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > corner0< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > y_min< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-offset"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > %10000, < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > /10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 5000< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > -=10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > < -5000) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > +=10000;< / span >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > )*< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > border< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /2;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > )*< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > eml< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > eps_origin< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > vskip< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /2;< / span >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100;< / span >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > eps_x< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > eps_y< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_6" class = "paragraph-anchor" > < / a > < b > § 25.6. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw the map connections from this room as EPS paths< / span > < span class = "named-paragraph-number" > 25.6< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP34" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_setting< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-thickness"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > eps_x< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > eps_y< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > )/2;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > R_stiffness< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-stiffness"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dir< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_STORY_DIRECTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dir< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > = < / span > < a href = "3-sm2.html#SP7_16" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::room_exit< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dir< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > story_dir_to_page_dir< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > dir< / span > < span class = "plain-syntax" > ];< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-sm.html#SP15" class = "function-link" > < span class = "function-syntax" > PL::Spatial::object_is_a_room< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_6_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw a single map connection as an EPS arrow< / span > < span class = "named-paragraph-number" > 25.6.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP34" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_unsetting< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_6_1" class = "paragraph-anchor" > < / a > < b > § 25.6.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw a single map connection as an EPS arrow< / span > < span class = "named-paragraph-number" > 25.6.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > T_stiffness< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-stiffness"< / span > < span class = "plain-syntax" > , & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "route-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > Room_position< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ).< / span > < span class = "identifier-syntax" > z< / span > < span class = "plain-syntax" > ) & & < / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > (< / span > < a href = "3-sm2.html#SP7_16" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::room_exit< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > , < / span > < a href = "3-sm2.html#SP7_8" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::opposite< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dir< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_6_1_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw a two-ended arrow for a two-way horizontal connection< / span > < span class = "named-paragraph-number" > 25.6.1.1< / span > < / a > < / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_6_1_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw a one-way arrow for a distant or off-level connection< / span > < span class = "named-paragraph-number" > 25.6.1.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_6" > § 25.6< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_6_1_1" class = "paragraph-anchor" > < / a > < b > § 25.6.1.1. < / b > We don't want to draw this twice (once for R, once for T), so we draw it
2019-03-17 14:40:57 +02:00
just for the earlier-defined room.
< / p >
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw a two-ended arrow for a two-way horizontal connection< / span > < span class = "named-paragraph-number" > 25.6.1.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > allocation_id< / span > < span class = "plain-syntax" > < = < / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > allocation_id< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP33" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_Bezier_curve< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > R_stiffness< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > T_stiffness< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > ,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > eps_x< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > eps_y< / span > < span class = "plain-syntax" > , < / span > < a href = "3-sm2.html#SP7_8" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::opposite< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > ));< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_6_1_2" class = "paragraph-anchor" > < / a > < b > § 25.6.1.2. < / b > A one-way arrow has the destination marked on it textually, since it doesn't
2019-03-17 14:40:57 +02:00
actually go there in any visual way.
< / p >
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw a one-way arrow for a distant or off-level connection< / span > < span class = "named-paragraph-number" > 25.6.1.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < a href = "3-sm2.html#SP7_7" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::direction_as_vector< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > U_vector_EPS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 9< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > D_vector_EPS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > IN_vector_EPS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 11< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > OUT_vector_EPS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP32" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_dashed_arrow< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > /< / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP26" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_text_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > T< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-length"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > *6/< / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > /5, < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > *6/< / span > < span class = "identifier-syntax" > scaled< / span > < span class = "plain-syntax" > /5,< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "annotation-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_7" class = "paragraph-anchor" > < / a > < b > § 25.7. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw the boxes for the rooms themselves< / span > < span class = "named-paragraph-number" > 25.7< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > map_parameter_scope< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > = & (< / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > local_map_parameters< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > eps_x< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > eps_y< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > )/2;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_7_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw the filled box for the room< / span > < span class = "named-paragraph-number" > 25.7.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_7_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Draw the outline of the box for the room< / span > < span class = "named-paragraph-number" > 25.7.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP25_7_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Write in the name of the room< / span > < span class = "named-paragraph-number" > 25.7.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_7_1" class = "paragraph-anchor" > < / a > < b > § 25.7.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw the filled box for the room< / span > < span class = "named-paragraph-number" > 25.7.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "newpath %% Room interior\n"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 75< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP30" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_room_boundary_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-shape"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "fill\n\n"< / span > < span class = "plain-syntax" > );< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_7" > § 25.7< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_7_2" class = "paragraph-anchor" > < / a > < b > § 25.7.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Draw the outline of the box for the room< / span > < span class = "named-paragraph-number" > 25.7.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP34" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_setting< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline-thickness"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "newpath %% Room outline\n"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-outline-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP30" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_room_boundary_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-shape"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "stroke\n"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP34" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_unsetting< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_7" > § 25.7< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_7_3" class = "paragraph-anchor" > < / a > < b > § 25.7.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Write in the name of the room< / span > < span class = "named-paragraph-number" > 25.7.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-offset"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > %10000, < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > offs< / span > < span class = "plain-syntax" > /10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 5000< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > -=10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > < -5000) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > +=10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > level_scope< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-colour"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > legend< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > room_to_name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > legend< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > ""< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) { < / span > < span class = "identifier-syntax" > room_to_name< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > legend< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ; }< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP26" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_text_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > legend< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_to_name< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-length"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP11" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_string_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-font"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "room-name-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > room_scope< / span > < span class = "plain-syntax" > ),< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25_7" > § 25.7< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP25_8" class = "paragraph-anchor" > < / a > < b > § 25.8. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Plot all of the rubrics onto the EPS map< / span > < span class = "named-paragraph-number" > 25.8< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > rubric_holder< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > at_offset< / span > < span class = "plain-syntax" > %10000, < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > at_offset< / span > < span class = "plain-syntax" > /10000;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "grid-size"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 5000< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > -=10000;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > < -5000) < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > +=10000;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "3-em.html#SP12" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::get_int_mp< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "monochrome"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )) < / span > < a href = "3-em.html#SP37" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > colour< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > offset_from< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > offset_from< / span > < span class = "plain-syntax" > )-> < / span > < span class = "element-syntax" > eps_x< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PF_I< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > map< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > offset_from< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > eps_y< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > xpart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100; < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > += < / span > < span class = "identifier-syntax" > ypart< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mapunit< / span > < span class = "plain-syntax" > /100;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP26" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_text_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > annotation< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 128< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > rh< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > point_size< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ); < / span > < span class = "comment-syntax" > centred both horizontally and vertically< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP25" > § 25< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP26" class = "paragraph-anchor" > < / a > < b > § 26. Writing text in EPS. < / b > All of words written on the map — titles, labels for arrows, rubrics, and so
2019-03-17 14:40:57 +02:00
on — come from here.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > MAX_EPS_TEXT_LENGTH< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1000< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > MAX_EPS_ABBREVIATED_LENGTH< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > MAX_EPS_TEXT_LENGTH< / span >
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::plot_text_at< / span > < button class = "popup" onclick = "togglePopup('usagePopup17')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup17" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::plot_text_at< / span > < / span > :< br / > < a href = "3-em.html#SP25_6_1_2" > § 25.6.1.2< / a > , < a href = "3-em.html#SP25_7_3" > § 25.7.3< / a > , < a href = "3-em.html#SP25_8" > § 25.8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > text_to_plot< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > ) {< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > text_to_plot< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%w"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_to_plot< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP26_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Try taking the name from the printed name property of the room< / span > < span class = "named-paragraph-number" > 26.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP26_2" class = "named-paragraph-link" > < span class = "named-paragraph" > If that fails, try taking the name from its source text name< / span > < span class = "named-paragraph-number" > 26.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP27" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::plot_stream_at< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP26_1" class = "paragraph-anchor" > < / a > < b > § 26.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Try taking the name from the printed name property of the room< / span > < span class = "named-paragraph-number" > 26.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P_printed_name< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > World::Inferences::get_prop_state_at< / span > < span class = "plain-syntax" > (< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Instances::as_subject< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > P_printed_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Rvalues::is_CONSTANT_of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_text< / span > < span class = "plain-syntax" > )) & & < / span >
2020-05-11 17:21:29 +03:00
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > )))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > V< / span > < span class = "plain-syntax" > ));< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%+W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::one_word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_first_char< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > ) == < / span > < span class = "character-syntax" > '\"'< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Str::delete_first_character< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_last_char< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > ) == < / span > < span class = "character-syntax" > '\"'< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Str::delete_last_character< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP26" > § 26< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP26_2" class = "paragraph-anchor" > < / a > < b > § 26.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > If that fails, try taking the name from its source text name< / span > < span class = "named-paragraph-number" > 26.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Instances::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::empty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%+W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP26" > § 26< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP27" class = "paragraph-anchor" > < / a > < b > § 27. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::plot_stream_at< / span > < button class = "popup" onclick = "togglePopup('usagePopup18')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup18" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::plot_stream_at< / span > < / span > :< br / > < a href = "3-em.html#SP25_4" > § 25.4< / a > , < a href = "3-em.html#SP26" > § 26< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > text_to_plot< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > ) {< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::copy< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_to_plot< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "3-em.html#SP27_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Abbreviate the text to be printed by stripping dispensable letters< / span > < span class = "named-paragraph-number" > 27.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP35" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_text< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > );< / span >
2020-06-28 01:18:54 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP27_1" class = "paragraph-anchor" > < / a > < b > § 27.1. < / b > The following cuts the text down to the abbreviation length by knocking out,
2019-03-17 14:40:57 +02:00
in sequence: (a) lower-case vowels; (b) spaces; (c) lower-case consonants; (d)
punctuation marks. If that doesn't do it, the text is simply truncated. For
example, "Peisey-Nancroix" abbreviated to 10 is "Pesy-Nncrx" and to 5
is "PsyNn".
< / p >
2020-08-09 20:39:31 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Abbreviate the text to be printed by stripping dispensable letters< / span > < span class = "named-paragraph-number" > 27.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2020-05-03 03:01:21 +03:00
< / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > MAX_EPS_ABBREVIATED_LENGTH< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > MAX_EPS_ABBREVIATED_LENGTH< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > ) > < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )-1; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > > =0; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > --)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Characters::vowel< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ))) < / span > < span class = "reserved-syntax" > goto< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RemoveOne< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )-1; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > > =0; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > --)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ) == < / span > < span class = "character-syntax" > ' '< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > goto< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RemoveOne< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )-1; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > > =0; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > --)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > islower< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ))) < / span > < span class = "reserved-syntax" > goto< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RemoveOne< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > )-1; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > > =0; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > --)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > isupper< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > )) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > goto< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RemoveOne< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::truncate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > abbrev_to< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > RemoveOne:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::delete_nth_character< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-09 20:39:31 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "3-em.html#SP27" > § 27< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP28" class = "paragraph-anchor" > < / a > < b > § 28. EPS header. < / b > EPS files are identified and version-numbered by a header, as follows.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_header< / span > < button class = "popup" onclick = "togglePopup('usagePopup19')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup19" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_header< / span > < / span > :< br / > < a href = "3-em.html#SP25" > § 25< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bounding_box_width< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bounding_box_height< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > default_font< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default_point_size< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%%!PS-Adobe EPSF-3.0\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%%%%BoundingBox: 0 0 %d %d\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bounding_box_width< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bounding_box_height< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%%%%IncludeFont: %w\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > default_font< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "/%w findfont %d scalefont setfont\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > default_font< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > default_point_size< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP29" class = "paragraph-anchor" > < / a > < b > § 29. Circles and rectangles. < / b > In EPS files, there's an imaginary pen which traces out "paths". These begin
2019-03-17 14:40:57 +02:00
whenever the pen moves to a new location, and then continue until they are
2020-05-03 03:01:21 +03:00
closed (joined up back to the start position) with a < span class = "extract" > < span class = "extract-syntax" > closepath< / span > < / span > command.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_circular_path< / span > < button class = "popup" onclick = "togglePopup('usagePopup20')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup20" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_circular_path< / span > < / span > :< br / > < a href = "3-em.html#SP30" > § 30< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > radius< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d moveto %% rightmost point\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > radius< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d %d %d %d arc %% full circle traced anticlockwise\n"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > radius< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 360< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "closepath\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < button class = "popup" onclick = "togglePopup('usagePopup21')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup21" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < / span > :< br / > < a href = "3-em.html#SP25_2" > § 25.2< / a > , < a href = "3-em.html#SP30" > § 30< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d moveto %% bottom left corner\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d lineto %% bottom side\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d lineto %% right side\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d lineto %% top side\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "closepath\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP30" class = "paragraph-anchor" > < / a > < b > § 30. < / b > The boundary of a room is always one of these:
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_room_boundary_path< / span > < button class = "popup" onclick = "togglePopup('usagePopup22')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup22" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_room_boundary_path< / span > < / span > :< br / > < a href = "3-em.html#SP25_7_1" > § 25.7.1< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > shape< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > shape< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "square"< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP29" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > shape< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "rectangle"< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP29" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > -2*< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > +2*< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::cmp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > shape< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "circle"< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP29" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_circular_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP29" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_rectangular_path< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > -< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bx< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > boxsize< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP31" class = "paragraph-anchor" > < / a > < b > § 31. Straight lines. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_horizontal_line_path< / span > < button class = "popup" onclick = "togglePopup('usagePopup23')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup23" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_horizontal_line_path< / span > < / span > :< br / > < a href = "3-em.html#SP25_3" > § 25.3< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d moveto %% LHS\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d lineto %% RHS\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "closepath\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP32" class = "paragraph-anchor" > < / a > < b > § 32. Dashed arrows. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_dashed_arrow< / span > < button class = "popup" onclick = "togglePopup('usagePopup24')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup24" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_dashed_arrow< / span > < / span > :< br / > < a href = "3-em.html#SP25_6_1_2" > § 25.6.1.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Dir< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "[2 1] 0 setdash %% dashed line for arrow\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d moveto %% room centre\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d rlineto %% arrow out\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Dir< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Dir< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "stroke\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "[] 0 setdash %% back to normal solid lines\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP33" class = "paragraph-anchor" > < / a > < b > § 33. Bezier curves. < / b > The other sort of path we'll need is a Bézier curve, a quadratic curve which
2019-03-17 14:40:57 +02:00
interpolates between vectors. EPS has support for these built-in; see any
reference book on PostScript.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_Bezier_curve< / span > < button class = "popup" onclick = "togglePopup('usagePopup25')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup25" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_Bezier_curve< / span > < / span > :< br / > < a href = "3-em.html#SP25_6_1_1" > § 25.6.1.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > stiffness0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > stiffness1< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exit0< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exit1< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cx1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cy1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cx2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cy2< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > vector< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < a href = "3-sm2.html#SP7_7" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::direction_as_vector< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit0< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cx1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > stiffness0< / span > < span class = "plain-syntax" > /100; < / span > < span class = "identifier-syntax" > cy1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > stiffness0< / span > < span class = "plain-syntax" > /100;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > = < / span > < a href = "3-sm2.html#SP7_7" class = "function-link" > < span class = "function-syntax" > PL::SpatialMap::direction_as_vector< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exit1< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cx2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > x< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > stiffness1< / span > < span class = "plain-syntax" > /100; < / span > < span class = "identifier-syntax" > cy2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > E< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > stiffness1< / span > < span class = "plain-syntax" > /100;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d moveto %% start of Bezier curve\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d %d %d %d %d curveto %% control points 1, 2 and end\n"< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cx1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cy1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cx2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cy2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "stroke\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP34" class = "paragraph-anchor" > < / a > < b > § 34. Line thickness. < / b > The following routines should be used in nested pairs, so that the PostScript
2019-03-17 14:40:57 +02:00
stack is kept in order.
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_setting< / span > < button class = "popup" onclick = "togglePopup('usagePopup26')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup26" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_setting< / span > < / span > :< br / > < a href = "3-em.html#SP25_6" > § 25.6< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "currentlinewidth %% Push old line width onto stack\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d setlinewidth\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_unsetting< / span > < button class = "popup" onclick = "togglePopup('usagePopup27')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup27" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_line_width_unsetting< / span > < / span > :< br / > < a href = "3-em.html#SP25_6" > § 25.6< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "setlinewidth %% Pull old line width from stack\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP35" class = "paragraph-anchor" > < / a > < b > § 35. Text. < / b > In EPS world, text is just another sort of path.
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_text< / span > < button class = "popup" onclick = "togglePopup('usagePopup28')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup28" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_text< / span > < / span > :< br / > < a href = "3-em.html#SP27" > § 27< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > text< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "/%w findfont %d scalefont setfont\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > font< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "newpath (%S)\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > centre_h< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "dup stringwidth add 2 div %d exch sub %% = X centre-offset\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %% = X\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > centre_v< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %d 2 div sub %% = Y centre-offset\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pointsize< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d %% = Y\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > y< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "moveto show\n"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP36" class = "paragraph-anchor" > < / a > < b > § 36. RGB colours. < / b > Inform internally stores colours as six hexadecimal digits, in traditional
2020-05-03 03:01:21 +03:00
HTML way: < span class = "extract" > < span class = "extract-syntax" > RRGGBB< / span > < / span > , with each colour from 0 to 255. In EPS files, colours
2020-04-14 19:56:54 +03:00
are written as triples of floating point numbers \(0 \leq b \leq 1\).
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< p class = "commentary" > EPS uses reverse Polish notation, so the command here is: < span class = "extract" > < span class = "extract-syntax" > R G B setrgbcolor< / span > < / span > .
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < button class = "popup" onclick = "togglePopup('usagePopup29')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup29" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_colour< / span > < / span > :< br / > < a href = "3-em.html#SP25_4" > § 25.4< / a > , < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > , < a href = "3-em.html#SP25_7_1" > § 25.7.1< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > , < a href = "3-em.html#SP25_7_3" > § 25.7.3< / a > , < a href = "3-em.html#SP25_8" > § 25.8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wide::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > ) != < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Improper HTML colour"< / span > < span class = "plain-syntax" > );< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::choose_colour_beam< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [0], < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [1]);< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::choose_colour_beam< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [2], < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [3]);< / span >
< span class = "plain-syntax" > < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::choose_colour_beam< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [4], < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > [5]);< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "setrgbcolor %% From HTML colour %w\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > htmlcolour< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::choose_colour_beam< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > hex1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > hex2< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > = < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::hex_to_int< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hex1< / span > < span class = "plain-syntax" > )*16 + < / span > < a href = "3-em.html#SP36" class = "function-link" > < span class = "function-syntax" > PL::EPSMap::hex_to_int< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hex2< / span > < span class = "plain-syntax" > );< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%.6g "< / span > < span class = "plain-syntax" > , (< / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > ) (((< / span > < span class = "reserved-syntax" > float< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > )/255.0));< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::hex_to_int< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > hex< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hex< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '1'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '2'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '3'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 3< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '4'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 4< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '5'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 5< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '6'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '7'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 7< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '8'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '9'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 9< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'a'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'A'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'b'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'B'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 11< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'c'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'C'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 12< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'd'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'D'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 13< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'e'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'E'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 14< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'f'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > 'F'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 15< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Improper character in HTML colour"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP37" class = "paragraph-anchor" > < / a > < b > § 37. < / b > EPS also supports greyscale, where there's only one beam:
2019-03-17 14:40:57 +02:00
< / p >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-09 20:39:31 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < button class = "popup" onclick = "togglePopup('usagePopup30')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup30" > Usage of < span class = "code-font" > < span class = "function-syntax" > PL::EPSMap::EPS_compile_set_greyscale< / span > < / span > :< br / > < a href = "3-em.html#SP25_4" > § 25.4< / a > , < a href = "3-em.html#SP25_6_1" > § 25.6.1< / a > , < a href = "3-em.html#SP25_7_1" > § 25.7.1< / a > , < a href = "3-em.html#SP25_7_2" > § 25.7.2< / a > , < a href = "3-em.html#SP25_7_3" > § 25.7.3< / a > , < a href = "3-em.html#SP25_8" > § 25.8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%0.02f setgray %% greyscale %d/100ths of white\n"< / span > < span class = "plain-syntax" > , (< / span > < span class = "reserved-syntax" > float< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > /100, < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
< ul class = "progressbar" > < li class = "progressprev" > < a href = "3-hm.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "1-im.html" > 1< / a > < / li > < li class = "progresschapter" > < a href = "2-ifi.html" > 2< / a > < / li > < li class = "progresscurrentchapter" > 3< / li > < li class = "progresssection" > < a href = "3-tnt.html" > tnt< / a > < / li > < li class = "progresssection" > < a href = "3-sm.html" > sm< / a > < / li > < li class = "progresssection" > < a href = "3-sr.html" > sr< / a > < / li > < li class = "progresssection" > < a href = "3-prs.html" > prs< / a > < / li > < li class = "progresssection" > < a href = "3-tp.html" > tp< / a > < / li > < li class = "progresssection" > < a href = "3-dvc.html" > dvc< / a > < / li > < li class = "progresssection" > < a href = "3-bck.html" > bck< / a > < / li > < li class = "progresssection" > < a href = "3-rgn.html" > rgn< / a > < / li > < li class = "progresssection" > < a href = "3-tm.html" > tm< / a > < / li > < li class = "progresssection" > < a href = "3-mcr.html" > mcr< / a > < / li > < li class = "progresssection" > < a href = "3-sg.html" > sg< / a > < / li > < li class = "progresssection" > < a href = "3-sm2.html" > sm2< / a > < / li > < li class = "progresssection" > < a href = "3-hm.html" > hm< / a > < / li > < li class = "progresscurrent" > em< / li > < li class = "progresssection" > < a href = "3-sc.html" > sc< / a > < / li > < li class = "progresssection" > < a href = "3-scn.html" > scn< / a > < / li > < li class = "progresssection" > < a href = "3-tm2.html" > tm2< / a > < / li > < li class = "progresssection" > < a href = "3-ts.html" > ts< / a > < / li > < li class = "progresschapter" > < a href = "4-act.html" > 4< / a > < / li > < li class = "progresschapter" > < a href = "5-itg.html" > 5< / a > < / li > < li class = "progressnext" > < a href = "3-sc.html" > ❯ < / a > < / li > < / ul > < / div >
< / nav > <!-- End of weave -->
2019-03-17 14:40:57 +02:00
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >