[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DTD-Version vom 26.7.00



Hallooo!!
Hier ist unsere neueste DTD-Version, die natuerlich noch erweitert,
ueberarbeitet und durchdiskutiert werden muss.
Schoene Gruesse.

<-- erste noch unvollstaendige DTD-Version -->



<!ENTITY % Boolean 	"(true|false|0|1)">     <!-- Boolean    -->
<!ENTITY % UByte 	"CDATA"> <!-- unsigned number between 0 and 255 -->
<!ENTITY % Float  	"CDATA"> <!-- Float -->
<!ENTITY % 01Float	"CDATA"> <!-- Float between 0 and 1 -->
<!ENTITY % UFloat	"CDATA"> <!-- unsigned Float -->
<!ENTITY % 0PiFloat	"CDATA"> <!-- Float between 0 and 3.14159 -->

<!ENTITY % UInt          "CDATA"> <!-- unsigned integer -->

<!ELEMENT Coordinate (point*)> <!-- Vector of 3D-Coordinates of floats -->
<!ELEMENT point EMPTY>         <!-- one coordinate of floats -->
<!ATTLIST point
        x %Float;   #REQUIRED
        y %Float;   #REQUIRED
        z %Float;   #REQUIRED>


<!ELEMENT CoordIndex (polyline*)>   <!-- Vector of polylines -->
<!ELEMENT polyline (#PCDATA)>       <!-- polyline defined by pointindices -->
                                    <!-- for example: 0 2 1 6 -->

<!ELEMENT Color (color*)>     <!-- vector of RGB-Colors -->
<!ELEMENT color EMPTY>	      <!-- one RGB-Color --> 	
<!ATTLIST color
        r   %UByte; #REQUIRED
	g   %UByte; #REQUIRED
	b   %UByte; #REQUIRED>     <!-- RGB-Color-Values between 0 and 255 -->
     
    
<!ELEMENT Material (diffuseColor?, specularColor?>
<!ATTLIST Material
	 ambientIntensity %01Float; "0.2">
<!ELEMENT diffuseColor EMPTY>
<!ATTLIST diffuseColor
        r   %UByte; "204"
	g   %UByte; "204"
        b   %UByte; "204">
<!ELEMENT specularColor EMPTY>
<!ATTLIST specularColor
 	r   %UByte; "0"
	g   %UByte; "0"
        b   %UByte; "0">

<!ELEMENT Normal (normal*)> <!-- Vector of 3D-normals of floats -->
<!ELEMENT normal EMPTY>         <!-- one normal of floats -->
<!ATTLIST normal
        x %Float;   #REQUIRED
        y %Float;   #REQUIRED
        z %Float;   #REQUIRED>

<!ELEMENT PointSet (Coordinate, Color?)>   <!-- a set of 3D points with color and size -->
<!ATTLIST PointSet
	pointsize %Int; "1">

<!ELEMENT IndexedLineSet (Color?, Coordinate, CoordIndex)>   <!-- 3D geometry formed by polylines -->
<!ATTLIST IndexedLineSet
        linesize %Int; "1">


<!ELEMENT IndexedFaceSet (Color?, Coordinate, CoordIndex, Normal?)>  <!-- 3D shape formed by polylines -->
                                                      <!-- coordinates orientated against counterclockwise -->
				
<!ELEMENT Children (Shape|Transform|Viewpoint|DirectionalLight|Spotlight|PointLight)*>

<!ELEMENT Shape (Material,Geometry) >

<!ELEMENT Group (Shape|Transform|Viewpoint|DirectionalLight|Spotlight|PointLight)*)>

<!ELEMENT Geometry (Sphere|PointSet|IndexedLineSet|IndexedFaxeSet)>


<!ELEMENT Viewpoint (Position, Orientation, Description?-->
<!ATTLIST Viewpoint
        fieldOfView %0PiFloat; "0.785398">  <!-- angle between [0;3.14159] -->

<!ELEMENT Description (#PCDATA)> <!-- gives a name to the viewpoint/camera -->

<!ELEMENT Position EMPTY> <!--in default-position and orientation the viewer is on the -->
			  <!-- Z-axis looking down the -Z-axis -->	
<!ATTLIST Position
        x %Float;   "0"
        y %Float;   "0"
        z %Float;   "10">

<!ELEMENT Orientation EMPTY>   <!--orientation specifies a rotation of the camera -->
<!ATTLIST Orientation
        x %Float;   "0"
        y %Float;   "0"
        z %Float;   "1"
	rad %Float; "0">

<!ELEMENT Rotation EMPTY>           <!-- (0,0,0) and (x,y,z) define the axis, rad is a radian of the rotation -->
<!ATTLIST Rotation
		x %Float	#REQUIRED			
                y %Float	#REQUIRED
		z %Float	#REQUIRED
		rad %Float	#REQUIRED>

<!ELEMENT Scale EMPTY>
<!ATTLIST Scale
        x %UFloat;   #REQUIRED
        y %UFloat;   #REQUIRED
        z %UFloat;   #REQUIRED>

<!ELEMENT Translation EMPTY>
<!ATTLIST Translation
        x %Float;   #REQUIRED
        y %Float;   #REQUIRED
        z %Float;   #REQUIRED>


<!ELEMENT Transform (Children+, Rotation?, Scale?,Translation?)>

<!ELEMENT DirectionalLight (lightColor?, Direction)>
<!ATTLIST DirectionalLight
		ambientIntensity %01Float; "0.0"
                intensity %01Float; "1">

<!ELEMENT PointLight (Attenuation?, lightColor?, point)>
<!ATTLIST PointLight
		ambientIntensity %01Float; "0.0"
		intensity %01Float; "1"
		radius %UFloat; "100">
                <!-- radius: maximum distance from location that may be illuminated by the light source -->

<!ELEMENT SpotLight (Attenuation?, lightColor?, Direction, point)>
<!ATTLIST SpotLight
		ambientIntensity %01Float; "0.0"
		beamWidth %0PiFloat; "1.570796"
		cutOffAngle %0PiFloat; "0.785398"
		intensity %01Float; "1"
		radius %UFloat; "100">
		<!-- radius: maximum distance from location that may be illuminated by the light source -->
		<!-- beamWidth specifies the inner solid angle -->
                <!-- cutOffAngle specifies the outer bound of the solid angle -->

<!ELEMENT Attenuation EMPTY>
<!ATTLIST Attenuation
           a %UFloat; "1"
	   b %UFloat; "0"
	   c %UFloat; "0">

<!ELEMENT lightColor EMPTY>
<!ATTLIST lightColor
        r   %UByte; "255"
	g   %UByte; "255"
        b   %UByte; "255">

<!ELEMENT Direction EMPTY>
<!ATTLIST Direction
        x %UFloat;   #REQUIRED
        y %UFloat;   #REQUIRED
        z %UFloat;   #REQUIRED>