summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/media9
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/media9')
-rw-r--r--macros/latex/contrib/media9/ChangeLog5
-rw-r--r--macros/latex/contrib/media9/doc/media9.pdfbin3748216 -> 3748609 bytes
-rw-r--r--macros/latex/contrib/media9/doc/media9.tex6
-rw-r--r--macros/latex/contrib/media9/media9.sty56
4 files changed, 60 insertions, 7 deletions
diff --git a/macros/latex/contrib/media9/ChangeLog b/macros/latex/contrib/media9/ChangeLog
index 50af543880..075328178d 100644
--- a/macros/latex/contrib/media9/ChangeLog
+++ b/macros/latex/contrib/media9/ChangeLog
@@ -1,3 +1,8 @@
+2021-10-18
+ * v1.23 : media9.sty
+ * new : SHOWTRANSPARENT and SECTIONCAPPING entries for 3D cross sections
+ (in the 3D views file)
+
2021-09-12
* v1.22 : media9.sty
* v0.53 : pdfbase.sty
diff --git a/macros/latex/contrib/media9/doc/media9.pdf b/macros/latex/contrib/media9/doc/media9.pdf
index cf0ef43243..79ef9c35a2 100644
--- a/macros/latex/contrib/media9/doc/media9.pdf
+++ b/macros/latex/contrib/media9/doc/media9.pdf
Binary files differ
diff --git a/macros/latex/contrib/media9/doc/media9.tex b/macros/latex/contrib/media9/doc/media9.tex
index a7942ef584..d7acd9d0e3 100644
--- a/macros/latex/contrib/media9/doc/media9.tex
+++ b/macros/latex/contrib/media9/doc/media9.tex
@@ -391,6 +391,8 @@ The file \verb+<views file>+ is structured into view sections, one for every vie
PLANECOLOR=<r> <g> <b>
INTERSECTIONVISIBLE=true | false
INTERSECTIONCOLOR=<r> <g> <b>
+ SHOWTRANSPARENT=true | false
+ SECTIONCAPPING=true | false
END
PARTSATTRS=keep
PART=<part name as in the Model Tree (required, optional if UTF16NAME present)>
@@ -416,7 +418,7 @@ A view section starts with the keyword \verb+VIEW+, optionally followed by a nam
Part sub-sections are opened by \verb+PART=<part name>+ and closed by \verb+END+. There may be as many part subsections as there are parts in a 3D scene. Table~\ref{tab:parts} lists the possible entries in a \verb+PART+ sub-section. All entries are optional. However, a \verb+UTF16NAME+ entry is recommended, as the part name may contain non-ASCII characters. The value of the \verb+UTF16NAME+ key is the part name as a hex-encoded Unicode string. If \verb+UTF16NAME+ is not used, the part name in the 3D file must be entirely composed of ASCII characters. In that case, \verb+<part name>+ is mandatory and must match the part name as indicated in the \Acrobatmenu{ShowHideModelTree}{3D Model Tree} of the 3D object (accessible via right-click onto the model in the Reader). The part can be scaled and repositioned by means of a \verb+TRANSFORM+ entry which takes a 12-element transformation matrix as its value. Remaining entries in a part sub-section control the visual appearance of the part.
-A view section may contain at most one \verb+CROSSSECT+ sub-section. It inserts a cutting plane at a definite position and orientation in the 3D space, controlled by optional \verb+CENTER+ and \verb+NORMAL+ entries. The appearance characteristics of the cutting plane and the intersection of the plane with the 3D geometry are controlled by optional \verb+OPACITY+, \verb+VISIBLE+, \verb+PLANECOLOR+, \verb+INTERSECTIONVISIBLE+, \verb+INTERSECTIONCOLOR+ entries. See Table~\ref{tab:crosss} for explanation.
+A view section may contain at most one \verb+CROSSSECT+ sub-section. It inserts a cutting plane at a definite position and orientation in the 3D space, controlled by optional \verb+CENTER+ and \verb+NORMAL+ entries. The appearance characteristics of the cutting plane and the intersection of the plane with the 3D geometry are controlled by optional \verb+OPACITY+, \verb+VISIBLE+, \verb+PLANECOLOR+, \verb+INTERSECTIONVISIBLE+, \verb+INTERSECTIONCOLOR+,\\\verb+SHOWTRANSPARENT+, \verb+SECTIONCAPPING+ entries. See Table~\ref{tab:crosss} for explanation.
The views file can be commented. As usual, comments start with the percent sign.
@@ -500,6 +502,8 @@ Things like animation, lighting, background of 3D objects etc. may also be scrip
{\tt PLANECOLOR} & three numbers & given as {\tt<r> <g> <b>}, specify the colour (RGB) of the cutting plane\\
{\tt INTERSECTIONVISIBLE} & boolean & a flag (`{\tt true}' or `{\tt false}') indicating the visibility of the intersection of the cutting plane with any 3D geometry\\
{\tt INTERSECTIONCOLOR} & three numbers & given as {\tt<r> <g> <b>}, specify the colour (RGB) for the cutting plane's intersection with the 3D geometry\\
+ {\tt SHOWTRANSPARENT} & boolean & a flag (`{\tt true}' or `{\tt false}') indicating that the portion of a model on the cut side of a section plane shall be viewed using a transparent render mode\\
+ {\tt SECTIONCAPPING} & boolean & a flag (`{\tt true}' or `{\tt false}') indicating whether the section plane shall be closed and rendered as if cutting through a solid object\\
\hline
\end{tabular}
\end{table}
diff --git a/macros/latex/contrib/media9/media9.sty b/macros/latex/contrib/media9/media9.sty
index 07bb391c01..a40d6fbe52 100644
--- a/macros/latex/contrib/media9/media9.sty
+++ b/macros/latex/contrib/media9/media9.sty
@@ -41,8 +41,8 @@
\RequirePackage{l3keys2e}
-\def\g@mix@date@tl{2021/09/12}
-\def\g@mix@version@tl{1.22}
+\def\g@mix@date@tl{2021/10/18}
+\def\g@mix@version@tl{1.23}
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl}
@@ -1905,6 +1905,26 @@
},
INTERSECTIONCOLOR .value_required:n = {true},
+ SHOWTRANSPARENT .choices:nn = {true,false}{
+ \int_compare:nF{\l_mix_level_tl=2}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{SHOWTRANSPARENT}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_csst_tl{/ST~\l_keys_choice_tl}
+ },
+ SHOWTRANSPARENT .default:n = {true},
+
+ SECTIONCAPPING .choices:nn = {true,false}{
+ \int_compare:nF{\l_mix_level_tl=2}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{SECTIONCAPPING}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_cssc_tl{/SC~\l_keys_choice_tl}
+ },
+ SECTIONCAPPING .default:n = {true},
+
TRANSFORM .code:n = {
\int_compare:nF{\l_mix_level_tl=\c_one_int}{
\msg_error:nnxxxx{media9}{key~not~allowed}
@@ -1937,6 +1957,8 @@
\tl_clear:N\l_mix_cspc_tl %plane colour
\tl_clear:N\l_mix_csic_tl %intersection colour
\tl_clear:N\l_mix_csiv_tl %intersection visibility
+ \tl_clear:N\l_mix_csst_tl %cut side shown transparent
+ \tl_clear:N\l_mix_cssc_tl %section capping
},
CROSSSECT .value_forbidden:n = {true},
@@ -2018,7 +2040,7 @@
/C~[\l_mix_cscentre_tl]
/O~[\l_mix_csorient_tl]
\l_mix_csop_tl\l_mix_cspv_tl\l_mix_cspc_tl
- \l_mix_csic_tl\l_mix_csiv_tl
+ \l_mix_csic_tl\l_mix_csiv_tl\l_mix_csst_tl\l_mix_cssc_tl
}
\tl_put_right:Nx\l_mix_saarray_tl{~\mix_pdflastobj:}
\tl_set:Nn\l_mix_cscount_tl{\c_one_int}
@@ -2409,8 +2431,8 @@
\RequirePackage{l3keys2e}
-\def\g@mix@date@tl{2021/09/12}
-\def\g@mix@version@tl{1.22}
+\def\g@mix@date@tl{2021/10/18}
+\def\g@mix@version@tl{1.23}
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesExplPackage{media9}{\g@mix@date@tl}{\g@mix@version@tl}
@@ -4335,6 +4357,26 @@
},
INTERSECTIONCOLOR .value_required:n = {true},
+ SHOWTRANSPARENT .choices:nn = {true,false}{
+ \int_compare:nF{\l_mix_level_tl=2}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{SHOWTRANSPARENT}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_csst_tl{/ST~\l_keys_choice_tl}
+ },
+ SHOWTRANSPARENT .default:n = {true},
+
+ SECTIONCAPPING .choices:nn = {true,false}{
+ \int_compare:nF{\l_mix_level_tl=2}{
+ \msg_error:nnxxxx{media9}{key~not~allowed}
+ {\g_mix_vfile_tl}{\int_use:N\l_mix_lineno_int}{SECTIONCAPPING}
+ {CROSSSECT}
+ }
+ \tl_set:Nx\l_mix_cssc_tl{/SC~\l_keys_choice_tl}
+ },
+ SECTIONCAPPING .default:n = {true},
+
TRANSFORM .code:n = {
\int_compare:nF{\l_mix_level_tl=\c_one_int}{
\msg_error:nnxxxx{media9}{key~not~allowed}
@@ -4367,6 +4409,8 @@
\tl_clear:N\l_mix_cspc_tl %plane colour
\tl_clear:N\l_mix_csic_tl %intersection colour
\tl_clear:N\l_mix_csiv_tl %intersection visibility
+ \tl_clear:N\l_mix_csst_tl %cut side shown transparent
+ \tl_clear:N\l_mix_cssc_tl %section capping
},
CROSSSECT .value_forbidden:n = {true},
@@ -4448,7 +4492,7 @@
/C~[\l_mix_cscentre_tl]
/O~[\l_mix_csorient_tl]
\l_mix_csop_tl\l_mix_cspv_tl\l_mix_cspc_tl
- \l_mix_csic_tl\l_mix_csiv_tl
+ \l_mix_csic_tl\l_mix_csiv_tl\l_mix_csst_tl\l_mix_cssc_tl
}
\tl_put_right:Nx\l_mix_saarray_tl{~\mix_pdflastobj:}
\tl_set:Nn\l_mix_cscount_tl{\c_one_int}