X3D Model Documentation: MobiusExtrusion.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='MobiusExtrusion.x3d'/>
  6            <meta name='descriptioncontent='Mobius (or Mobius) is a surface with only one side and only one boundary component.'/>
  7            <meta name='creatorcontent='Don Brutzman'/>
  8            <meta name='createdcontent='14 January 2012'/>
  9            <meta name='modifiedcontent='20 October 2019'/>
 10            <meta name='Imagecontent='MobiusStrip-01.png'/>
 11            <meta name='Imagecontent='MobiusExtrusionsInternalLighting.png'/>
 12            <meta name=' TODO content=' properly handle special characters in "Möbius" during catalog creation '/>
 13            <meta name='referencecontent='https://en.wikipedia.org/wiki/M%C3%B6bius_strip'/>
 14            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/Basic/NURBS/MobiusNurbs.x3d'/>
 15            <meta name='subjectcontent='Mobius strip modeled with Extrusion'/>
 16            <meta name='infocontent='Development of this scene added new features to X3D-Edit'/>
 17            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dResources.html'/>
 18            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusion.x3d'/>
 19            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 20            <meta name='licensecontent='../license.html'/>
 21       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: InteriorLight, MobiusStrip, MobiusStripExploded, UntwistedStrip, UntwistedStripExploded

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3

Index for ExternProtoDeclare definition: ExtrusionCrossSection
-->
 22       <Scene>
 23            <!-- TODO clockwise or counterclockwise -->
 24            <WorldInfo title='MobiusExtrusion.x3d'/>
 25            <Background skyColor='0 0.6784314 0.8'/>
 26            <Viewpoint description='Mobius strip extrusion, plus cross-sectional vieworientation='1 0 0 -0.46365position='0 5 10'/>
 27            <Viewpoint description='Mobius strip from aboveorientation='1 0 0 -1.5707999position='0 10 0'/>
 28            <Viewpoint description='Mobius strip from side'/>
 29            <Transform DEF='MobiusStripscale='2 2 2translation='-3 2 0'>
 30 
               <!-- PointLight InteriorLight is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 -->
               <PointLight DEF='InteriorLightglobal='false'/>
 31                 <Shape>
 32                      <Extrusion creaseAngle='0.7854crossSection='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1orientation='0 1 0 -1.5707999 0 1 0 -1.309 0 1 0 -1.0472 0 1 0 -0.7854 0 1 0 -0.5236 0 1 0 -0.2618 0 1 0 0 0 1 0 0.2618 0 1 0 0.5236 0 1 0 0.7854 0 1 0 1.0472 0 1 0 1.309 0 1 0 1.5707999 0 1 0 1.8326 0 1 0 2.0943999 0 1 0 2.3562 0 1 0 2.618 0 1 0 2.8798001 0 1 0 3.1415999 0 1 0 3.4033999 0 1 0 3.6652 0 1 0 3.927 0 1 0 4.1887999 0 1 0 4.4506001 0 1 0 4.7124solid='falsespine='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
 33                      <!-- illustrated by follow-on ExtrusionCrossSection visualization -->
 34                      <Appearance>
 35                           <Material diffuseColor='0.4431373 0.1803922 1'/>
 36                           <!-- TODO add ruled ImageTexture -->
 37                      </Appearance>
 38                 </Shape>
 39            </Transform>
 40            <ExternProtoDeclare name='ExtrusionCrossSectionappinfo='Shape prototype for Extrusion node that also draws spine line plus oriented scaled cross sections at each spine point' documentation='https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d'   url=' "../../Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection" "https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionPrototype.x3d#ExtrusionCrossSection" '>
 41                 <field name='nametype='SFStringaccessType='initializeOnly'
                appinfo='Extrusion name'/>
 42                 <field name='crossSectiontype='MFVec2faccessType='initializeOnly'
                appinfo='Extrusion field'/>
 43                 <field name='spinetype='MFVec3faccessType='initializeOnly'
                appinfo='Extrusion field'/>
 44                 <field name='scaletype='MFVec2faccessType='initializeOnly'
                appinfo='Extrusion field'/>
 45                 <field name='orientationtype='MFRotationaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 46                 <field name='beginCaptype='SFBoolaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 47                 <field name='endCaptype='SFBoolaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 48                 <field name='ccwtype='SFBoolaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 49                 <field name='convextype='SFBoolaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 50                 <field name='creaseAngletype='SFFloataccessType='initializeOnly'
                appinfo='Extrusion field'/>
 51                 <field name='solidtype='SFBoolaccessType='initializeOnly'
                appinfo='Extrusion field'/>
 52                 <field name='spineColortype='SFColoraccessType='inputOutput'
                appinfo='emissiveColor of spine'/>
 53                 <field name='crossSectionColortype='SFColoraccessType='inputOutput'
                appinfo='diffuseColor of crossSection'/>
 54                 <field name='crossSectionTransparencytype='SFFloataccessType='inputOutput'
                appinfo='transparency of crossSection'/>
 55                 <field name='extrusionColortype='SFColoraccessType='inputOutput'
                appinfo='diffuseColor of extrusion hull'/>
 56                 <field name='extrusionTransparencytype='SFFloataccessType='inputOutput'
                appinfo='transparency of extrusion hull'/>
 57                 <field name='extrusionImageTexturetype='SFNodeaccessType='initializeOnly'
                appinfo='Image to apply to Extrusion'/>
 58                 <field name='extrusionTextureTransformtype='SFNodeaccessType='initializeOnly'
                appinfo='TextureTransform coordinates of image applied to Extrusion'/>
 59                 <field name='set_crossSectiontype='MFVec2faccessType='inputOnly'
                appinfo='Extrusion field'/>
 60                 <field name='set_spinetype='MFVec3faccessType='inputOnly'
                appinfo='Extrusion field'/>
 61                 <field name='set_scaletype='MFVec2faccessType='inputOnly'
                appinfo='Extrusion field'/>
 62                 <field name='set_orientationtype='MFRotationaccessType='inputOnly'
                appinfo='Extrusion field'/>
 63                 <field name='traceEnabledtype='SFBoolaccessType='initializeOnly'
                appinfo='Whether to provide initialization trace statements showing node construction'/>
 64            </ExternProtoDeclare>
 65            <Transform DEF='MobiusStripExplodedscale='2 2 2translation='3 2 0'>
 66                 <PointLight USE='InteriorLight'/>
 67                 <!-- ==================== -->
 68                 <Switch whichChoice='0'>
 69                      <ProtoInstance name='ExtrusionCrossSection'>
 70                           <fieldValue name='namevalue='MobiusStrip'/>
 71                           <fieldValue name='crossSectionvalue='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/>
 72                           <fieldValue name='spinevalue='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
 73                           <fieldValue name='scalevalue='1 1'/>
 74                           <fieldValue name='orientationvalue='0 1 0 -1.5707999 0 1 0 -1.309 0 1 0 -1.0472 0 1 0 -0.7854 0 1 0 -0.5236 0 1 0 -0.2618 0 1 0 0 0 1 0 0.2618 0 1 0 0.5236 0 1 0 0.7854 0 1 0 1.0472 0 1 0 1.309 0 1 0 1.5707999 0 1 0 1.8326 0 1 0 2.0943999 0 1 0 2.3562 0 1 0 2.618 0 1 0 2.8798001 0 1 0 3.1415999 0 1 0 3.4033999 0 1 0 3.6652 0 1 0 3.927 0 1 0 4.1887999 0 1 0 4.4506001 0 1 0 4.7124'/>
 75                           <fieldValue name='beginCapvalue='true'/>
 76                           <fieldValue name='endCapvalue='true'/>
 77                           <fieldValue name='ccwvalue='true'/>
 78                           <fieldValue name='convexvalue='true'/>
 79                           <fieldValue name='creaseAnglevalue='0.524'/>
 80                           <fieldValue name='solidvalue='false'/>
 81                           <fieldValue name='spineColorvalue='1 0.8 0.0'/>
 82                           <fieldValue name='crossSectionColorvalue='0.5 0.5 0.5'/>
 83                           <fieldValue name='crossSectionTransparencyvalue='0.26666668'/>
 84                           <fieldValue name='extrusionColorvalue='0.8 0.6 0.0'/>
 85                           <fieldValue name='extrusionTransparencyvalue='0.8'/>
 86                           <fieldValue name='traceEnabledvalue='false'/>
 87                      </ProtoInstance>
 88                      <!-- Add any ROUTEs here that connect ProtoInstance to/from prior nodes in Scene -->
 89                      <!-- Example use: https://www.web3d.org/x3d/content/examples/Basic/course/ExtrusionCrossSectionExample.x3d -->
 90                 </Switch>
 91                 <!-- ==================== -->
 92            </Transform>
 93            <Transform DEF='UntwistedStripscale='2 2 2translation='-3 -2 0'>
 94                 <PointLight USE='InteriorLight'/>
 95                 <Shape>
 96                      <Extrusion creaseAngle='0.524crossSection='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1solid='falsespine='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
 97                      <!-- illustrated by follow-on ExtrusionCrossSection visualization -->
 98                      <Appearance>
 99                           <Material diffuseColor='0 0.1490196 0.9411765'/>
100                           <!-- TODO add ruled ImageTexture -->
101                      </Appearance>
102                 </Shape>
103            </Transform>
104            <Transform DEF='UntwistedStripExplodedscale='2 2 2translation='3 -2 0'>
105                 <PointLight USE='InteriorLight'/>
106                 <ProtoInstance name='ExtrusionCrossSection'>
107                      <fieldValue name='namevalue='UntwistedStrip'/>
108                      <fieldValue name='crossSectionvalue='-0.2 -0.1 0.2 -0.1 0.2 0.1 -0.2 0.1 -0.2 -0.1'/>
109                      <fieldValue name='spinevalue='0 0 1 0.259 0 0.966 0.5 0 0.866 0.707 0 0.707 0.866 0 0.5 0.966 0 0.259 1 0 0 0.966 0 -0.259 0.866 0 -0.5 0.707 0 -0.707 0.5 0 -0.866 0.259 0 -0.966 0 0 -1 -0.259 0 -0.966 -0.5 0 -0.866 -0.707 0 -0.707 -0.866 0 -0.5 -0.966 0 -0.259 -1 0 -0 -0.966 0 0.259 -0.866 0 0.5 -0.707 0 0.707 -0.5 0 0.866 -0.259 0 0.966 0 0 1'/>
110                      <fieldValue name='scalevalue='1 1'/>
111                      <fieldValue name='beginCapvalue='true'/>
112                      <fieldValue name='endCapvalue='true'/>
113                      <fieldValue name='ccwvalue='true'/>
114                      <fieldValue name='convexvalue='true'/>
115                      <fieldValue name='creaseAnglevalue='0.524'/>
116                      <fieldValue name='solidvalue='false'/>
117                      <fieldValue name='spineColorvalue='1 0.8 0.0'/>
118                      <fieldValue name='crossSectionColorvalue='0 0.1490196 0.9411765'/>
119                      <fieldValue name='crossSectionTransparencyvalue='0.26666668'/>
120                      <fieldValue name='extrusionColorvalue='0.8 0.6 0.0'/>
121                      <fieldValue name='extrusionTransparencyvalue='0.8'/>
122                      <fieldValue name='traceEnabledvalue='false'/>
123                 </ProtoInstance>
124            </Transform>
125       </Scene>
126  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: InteriorLight, MobiusStrip, MobiusStripExploded, UntwistedStrip, UntwistedStripExploded

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3

Index for ExternProtoDeclare definition: ExtrusionCrossSection
-->
X3D Tooltips element index: Appearance, Background, ExternProtoDeclare, Extrusion, field, fieldValue, head, Material, meta, PointLight, ProtoInstance, Scene, Shape, Switch, Transform, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

Event Graph ROUTE Table with 0 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.


ProtoInstance
ExtrusionCrossSection
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 


ProtoInstance
ExtrusionCrossSection
No ROUTE connection found for output events from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 
Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusionIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/MobiusExtrusion.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)
    <ProtoInstance name='ProtoName'> <field name='fieldName'/> </ProtoInstance> -->

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