X3D Model Documentation: ExtrusionFigureX3dSpecification.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
  3  <X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'>
  4       <head>
  5            <meta name='titlecontent='ExtrusionFigureX3dSpecification.x3d'/>
  6            <meta name='descriptioncontent='X3D Extrusion spine-aligned cross-section plane (SCP) at a spine point. Modeled after Figure 13.5 in X3D Specification.'/>
  7            <meta name='creatorcontent='Al Shaffer'/>
  8            <meta name='createdcontent='4 February 2005'/>
  9            <meta name='modifiedcontent='28 October 2019'/>
 10            <meta name='Imagecontent='Extrusion.gif'/>
 11            <meta name='specificationSectioncontent='X3D encodings, ISO/IEC 19776-1.3, Part 1: XML encoding, Figure 13.5 - Spine-aligned cross-section plane at a spine point.'/>
 12            <meta name='specificationUrlcontent='https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/geometry3D.html#f-Spine-alignedcross-section'/>
 13            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ExtrusionFigureX3dSpecification.x3d'/>
 14            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 15            <meta name='licensecontent='../license.html'/>
 16       </head>
<!--

<!-- -->

<!-- to top Index for DEF nodes: ARROW, ARROW_APPEARANCE, ARROW_POINTER, DARK_GRAY, DARK_GRAY_SPHERE, HALF_COORD_AXIS, LABEL_APPEARANCE, LABEL_FONT, LABEL_FONT2, LABEL_FONT3, RED_ROD, SPINE_CROSS_SECTION

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3
-->
 17       <Scene>
 18            <WorldInfo title='ExtrusionFigureX3dSpecification.x3d'/>
 19            <Background groundColor='1 1 1skyColor='1 1 1'/>
 20            <Viewpoint description='X3D Specification Figure 13.5, Extrusion Spine-aligned Cross-section Plane (SCP)orientation='1 0 0 -0.43position='-0.5 5.5 12'/>
 21            <Viewpoint description='Front view, Spine-aligned Cross-section Plane (SCP)position='0 0 14'/>
 22            <Viewpoint description='Overhead view, Spine-aligned Cross-section Plane (SCP)orientation='1 0 0 -1.428899position='0 14 2'/>
 23            <Transform>
 24                 <!-- Draw partial coordinate axis. Code derived from CoordinateAxes.x3d by Don Brutzman, 21 January 2002 -->
 25                 <Transform DEF='HALF_COORD_AXIS'>
 26                      <Group>
 27                           <!-- Vertical Y arrow and labels -->
 28 
                         <!-- Group ARROW is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                         <Group DEF='ARROW'>
 29                                <Transform translation='0 1 0'>
 30                                     <Shape>
 31 
                                        <!-- Appearance ARROW_APPEARANCE is a DEF node that has 1 USE node: USE_1 -->
                                        <Appearance DEF='ARROW_APPEARANCE'>
 32                                               <Material diffuseColor='0 1 .7'/>
 33                                          </Appearance>
 34                                          <Cylinder bottom='falseradius='.05top='false'/>
 35                                     </Shape>
 36                                </Transform>
 37                                <Transform translation='0 2 0'>
 38                                     <Shape DEF='ARROW_POINTER'>
 39                                          <Cone bottomRadius='.16height='.4'/>
 40                                          <Appearance USE='ARROW_APPEARANCE'/>
 41                                     </Shape>
 42                                </Transform>
 43                           </Group>
 44                           <Transform translation='0.15 2.1 0.15'>
 45                                <Billboard axisOfRotation='0 0 0'>
 46                                     <Shape>
 47 
                                        <!-- Appearance LABEL_APPEARANCE is a DEF node that has 8 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8 -->
                                        <Appearance DEF='LABEL_APPEARANCE'>
 48                                               <Material diffuseColor='0 0 0'/>
 49                                          </Appearance>
 50                                          <Text string='"+Y axis"'>
 51 
                                             <!-- FontStyle LABEL_FONT is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                             <FontStyle DEF='LABEL_FONTfamily='"SANS"justify='"BEGIN" "END"size='.4style='ITALIC'/>
 52                                          </Text>
 53                                     </Shape>
 54                                </Billboard>
 55                           </Transform>
 56                      </Group>
 57                      <Transform rotation='0 0 1 -1.57079'>
 58                           <!-- Horizontal X arrow and label -->
 59                           <Group>
 60                                <Group USE='ARROW'/>
 61                                <Transform rotation='0 0 1 1.57079translation='-0.15 2.1 0.15'>
 62                                     <Billboard axisOfRotation='0 0 0'>
 63                                          <Shape>
 64                                               <Appearance USE='LABEL_APPEARANCE'/>
 65                                               <Text string='"+X axis"'>
 66                                                    <FontStyle USE='LABEL_FONT'/>
 67                                               </Text>
 68                                          </Shape>
 69                                     </Billboard>
 70                                </Transform>
 71                           </Group>
 72                      </Transform>
 73                      <Transform rotation='1 0 0 1.57079'>
 74                           <!-- Perpendicular Z arrow and label -->
 75                           <Group>
 76                                <Group USE='ARROW'/>
 77                                <Transform rotation='1 0 0 -1.57079translation='0.15 2.1 -0.15'>
 78                                     <Billboard axisOfRotation='0 0 0'>
 79                                          <Shape>
 80                                               <Appearance USE='LABEL_APPEARANCE'/>
 81                                               <Text string='"+Z axis"'>
 82                                                    <FontStyle USE='LABEL_FONT'/>
 83                                               </Text>
 84                                          </Shape>
 85                                     </Billboard>
 86                                </Transform>
 87                           </Group>
 88                      </Transform>
 89                 </Transform>
 90                 <!-- Draw spine-aligned cross-section plane at a spine point -->
 91                 <Transform DEF='SPINE_CROSS_SECTION'>
 92                      <Group>
 93                           <!-- Draw sphere and label at center of coordinate axis -->
 94                           <Group>
 95                                <Transform>
 96 
                                   <!-- Shape DARK_GRAY_SPHERE is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                   <Shape DEF='DARK_GRAY_SPHERE'>
 97                                          <Sphere radius='0.3'/>
 98 
                                        <!-- Appearance DARK_GRAY is a DEF node that has 4 USE nodes: USE_1, USE_2, USE_3, USE_4 -->
                                        <Appearance DEF='DARK_GRAY'>
 99                                               <Material diffuseColor='0.15 0.15 0.15'/>
100                                          </Appearance>
101                                     </Shape>
102                                </Transform>
103                                <Transform translation='-1 0 0'>
104                                     <Billboard axisOfRotation='0 0 0'>
105                                          <Shape>
106                                               <Appearance USE='LABEL_APPEARANCE'/>
107                                               <Text string='"spine[i]"'>
108 
                                                  <!-- FontStyle LABEL_FONT2 is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                                                  <FontStyle DEF='LABEL_FONT2family='"SANS"justify='"MIDDLE" "MIDDLE"size='0.4style='ITALIC'/>
109                                               </Text>
110                                          </Shape>
111                                     </Billboard>
112                                </Transform>
113                           </Group>
114                           <!-- Draw spine rods -->
115                           <Group>
116                                <Transform rotation='0 0 1 0.64'>
117                                     <Transform translation='0 2.5 0'>
118 
                                        <!-- Shape RED_ROD is a DEF node that has 1 USE node: USE_1 -->
                                        <Shape DEF='RED_ROD'>
119                                               <Cylinder bottom='falseheight='5.0radius='0.08top='false'/>
120                                               <Appearance>
121                                                    <Material diffuseColor='0.82 0.13 0.56'/>
122                                               </Appearance>
123                                          </Shape>
124                                     </Transform>
125                                </Transform>
126                                <Transform rotation='0 0 1 -0.64'>
127                                     <Transform translation='0 -2.5 0'>
128                                          <Shape USE='RED_ROD'/>
129                                     </Transform>
130                                </Transform>
131                           </Group>
132                           <!-- Draw two spheres and labels at ends of spines -->
133                           <Group>
134                                <Transform translation='-3 4 0'>
135                                     <Shape USE='DARK_GRAY_SPHERE'/>
136                                     <Transform translation='0 0.7 0'>
137                                          <Billboard axisOfRotation='0 0 0'>
138                                               <Shape>
139                                                    <Appearance USE='LABEL_APPEARANCE'/>
140                                                    <Text string='"spine[i+1]"'>
141                                                         <FontStyle USE='LABEL_FONT2'/>
142                                                    </Text>
143                                               </Shape>
144                                          </Billboard>
145                                     </Transform>
146                                </Transform>
147                                <Transform translation='-3 -4 0'>
148                                     <Shape USE='DARK_GRAY_SPHERE'/>
149                                     <Transform translation='0 -0.7 0'>
150                                          <Billboard axisOfRotation='0 0 0'>
151                                               <Shape>
152                                                    <Appearance USE='LABEL_APPEARANCE'/>
153                                                    <Text string='"spine[i-1]"'>
154                                                         <FontStyle USE='LABEL_FONT2'/>
155                                                    </Text>
156                                               </Shape>
157                                          </Billboard>
158                                     </Transform>
159                                </Transform>
160                           </Group>
161                           <!-- Draw tangent and label between spines -->
162                           <Group>
163                                <Transform translation='-3 0 0'>
164                                     <Shape>
165                                          <Cylinder height='8radius='.02'/>
166                                          <Appearance USE='DARK_GRAY'/>
167                                     </Shape>
168                                </Transform>
169                                <Transform rotation='0 0 1 3.14translation='-3 -3.55 0'>
170                                     <Shape>
171                                          <Cone bottomRadius='.15height='.5'/>
172                                          <Appearance USE='DARK_GRAY'/>
173                                     </Shape>
174                                </Transform>
175                                <Transform translation='-3.2 0 0'>
176                                     <Billboard>
177                                          <Shape>
178                                               <Appearance USE='LABEL_APPEARANCE'/>
179                                               <Text string='"t a n g e n t"'>
180                                                    <FontStyle family='"SANS"horizontal='falsejustify='"MIDDLE" "END"size='0.5style='ITALIC'/>
181                                               </Text>
182                                          </Shape>
183                                     </Billboard>
184                                </Transform>
185                                <Transform rotation='0 0 1 1.57translation='-1.5 0 0'>
186                                     <Shape>
187                                          <Cylinder height='3radius='.015'/>
188                                          <Appearance>
189                                               <Material diffuseColor='.2 .2 .2transparency='.5'/>
190                                          </Appearance>
191                                     </Shape>
192                                </Transform>
193                                <Transform translation='-2.7 0.15 0'>
194                                     <Shape>
195                                          <Cylinder height='.3radius='.02'/>
196                                          <Appearance USE='DARK_GRAY'/>
197                                     </Shape>
198                                </Transform>
199                                <Transform rotation='0 0 1 1.57translation='-2.85 0.3 0'>
200                                     <Shape>
201                                          <Cylinder height='.3radius='.02'/>
202                                          <Appearance USE='DARK_GRAY'/>
203                                     </Shape>
204                                </Transform>
205                           </Group>
206                           <!-- Draw SCP (spine-aligned cross-section plane) and label -->
207                           <Group>
208                                <Transform>
209                                     <Shape>
210                                          <IndexedFaceSet solid='falsecoordIndex='0 1 2 3 4 -1'>
211                                               <Coordinate point='1.35 0 1.35 1.35 0 -1.35 -1.35 0 -1.35 -1.35 0 1.35 1.35 0 1.35'/>
212                                          </IndexedFaceSet>
213                                          <Appearance>
214                                               <Material diffuseColor='0.27 0.51 0.71transparency='.5'/>
215                                          </Appearance>
216                                     </Shape>
217                                </Transform>
218                                <Transform rotation='1 0 0 -1.57translation='.5 0 -1'>
219                                     <Shape>
220                                          <Text string='"SCP"'>
221                                               <FontStyle family='"SANS"size='0.4style='BOLDITALIC'/>
222                                          </Text>
223                                          <Appearance USE='LABEL_APPEARANCE'/>
224                                     </Shape>
225                                </Transform>
226                           </Group>
227                      </Group>
228                 </Transform>
229                 <!-- Draw title of model -->
230                 <Group>
231                      <Transform translation='-0.2 -5.5 0'>
232                           <Shape>
233                                <Text string='"Spine-aligned Cross-section Plane (SCP) at Spine Point"'>
234                                     <FontStyle DEF='LABEL_FONT3family='"SANS"justify='"MIDDLE" "MIDDLE"size='0.45style='BOLD'/>
235                                </Text>
236                                <Appearance USE='LABEL_APPEARANCE'/>
237                           </Shape>
238                      </Transform>
239                 </Group>
240            </Transform>
241       </Scene>
242  </X3D>
<!--

<!-- -->

<!-- to top Index for DEF nodes: ARROW, ARROW_APPEARANCE, ARROW_POINTER, DARK_GRAY, DARK_GRAY_SPHERE, HALF_COORD_AXIS, LABEL_APPEARANCE, LABEL_FONT, LABEL_FONT2, LABEL_FONT3, RED_ROD, SPINE_CROSS_SECTION

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3
-->
X3D Tooltips element index: Appearance, Background, Billboard, Cone, Coordinate, Cylinder, FontStyle, Group, head, IndexedFaceSet, Material, meta, Scene, Shape, Sphere, Text, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ExtrusionFigureX3dSpecificationIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/ExtrusionFigureX3dSpecification.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->