Named container for all surface data (texture/material). All appearances of the same name ("theme")
within a CityGML file are considered a group.
Denotes the relation of a _CityObject resp. CityModel to its appearances. The AppearancePropertyType
element must either carry a reference to a Appearance object or contain a Appearance object inline, but neither
both nor none.
Base class for textures and material. Contains only isFront-flag.
Denotes the relation of an Appearance to its surface data. The SurfaceDataPropertyType element must
either carry a reference to a _SurfaceData object or contain a _SurfaceData object inline, but neither both nor
none.
Base class for textures. "imageURI" can contain any valid URI from references to a local file to
preformatted web service requests. The linking to geometry and texture parameterization is provided by derived
classes.
Fill mode for a texture. "wrap" repeats the texture, "clamp" extends the edges of the texture, and
"border" fills all undefined areas with "borderColor"
Specialization for standard 2D textures. "target" provides the linking to surface geometry. Only
gml:MultiSurface and decendants of gml:AbstractSurfaceType are valid targets. As property of the link, a texture
parameterization either as set of texture coordinates or transformation matrix is given.
Specialization for georeferenced textures, i.e. textures using a planimetric projection. Such
textures contain an implicit parameterization (either stored within the image file, in an acompanying world file,
or using the "referencePoint" and "orientation"-elements). A georeference provided by "referencePoint" and
"orientation" always takes precedence. The search order for an external georeference is determined by the boolean
flag preferWorldFile. If this flag is set to true (its default value), a world file is looked for first and only
if it is not found the georeference from the image data is used. If preferWorldFile is false, the world file is
used only if no georeference from the image data is available. The "boundedBy"-property should contain the
bounding box of the projected image data. Since a georeferenced texture has a unique parameterization, "target"
only provides links to surface geometry without any additional texture parameterization. Only gml:MultiSurface or
decendants of gml:AbstractSurfaceType are valid targets.
Denotes the relation of a texture to a surface, that is augmented by a TextureParameterization
object. The TextureAssociationType element must either carry a reference to a _TextureParameterization object or
contain a _TextureParameterization object inline, but neither both nor none.
Base class for augmenting a link "texture->surface" with texture parameterization. Subclasses of
this class define concrete parameterizations. Currently, texture coordinates and texture coordinate generation
using a transformation matrix are available.
Texture parameterization using texture coordinates: Each gml:LinearRing that is part of the surface
requires a separate "textureCoordinates"-entry with 2 doubles per ring vertex. The "ring"- attribute provides the
gml:id of the target LinearRing. It is prohibited to link texture coordinates to any other object type than
LinearRing. Thus, surfaces not consisting of LinearRings cannot be textured this way. Use transformation matrices
(see below) or georeferenced textures instead.
Texture parameterization using a transformation matrix. The transformation matrix "worldToTexture"
can be used to derive texture coordinates from an object's location. This 3x4 matrix T computes the coordinates
(s,t) from a homogeneous world position p as (s,t) = (s'/q', t'/q') with (s', t', q') = T*p. Thus, perspective
projections can be specified. The SRS can be specified using standard attributes. If an object is given in a
different reference system, it is transformed to the SRS before applying the transformation. A transformation
matrix can be used for whole surfaces. It is not required to specify it per LinearRing.
Class for defining constant surface properties. It is based on X3D's material definition. In
addition, "isSmooth" provides a hint for value interpolation. The link to surface geometry is established via the
"target"-property. Only gml:MultiSurface or decendants of gml:AbstractSurfaceType are valid targets.
Textures can be qualified by the attribute textureType. The textureType differentiates between
textures, which are specific for a certain object and are only used for that object (specific), and prototypic
textures being typical for that kind of object and are used many times for all objects of that kind (typical). A
typical texture may be replaced by a specific, if available. Textures may also be classified as unknown.
List of three values (red, green, blue), separated by spaces. The values must be in the range
between zero and one.
List of three or four values (red, green, blue, opacity), separated by spaces. The values must be in
the range between zero and one. If no opacity is given, it is assumed as 1.0.