Class Billboard

java.lang.Object
com.massifmaps.vectorelements.VectorElement
com.massifmaps.vectorelements.Billboard
Direct Known Subclasses:
Label, Marker, NMLModel, Popup

public class Billboard extends VectorElement
A base class for billboard elements that can be displayed on the map.
Billboards can either be given a concrete position on the map or be attached to
other billboards.
  • Method Details

    • getBaseBillboard

      public Billboard getBaseBillboard()
      Returns the base billboard this billboard is attached to.
      Returns:
      The base billboard this billboard is attached to. Null if not attached to a billboard.
    • setBaseBillboard

      public void setBaseBillboard(Billboard baseBillboard)
      Attaches this billboard to another billboard, so it will always be drawn relative to the base billboard.
      If this billboard has a geometry object assigned to it, it will first be set to null.
      Parameters:
      baseBillboard - The billboard this billboard will be attached to.
    • getBounds

      public MapBounds getBounds()
      Returns the bounds of this billboard or the base billboard, if there is one.
      Overrides:
      getBounds in class VectorElement
      Returns:
      The bounds of this billboard.
    • getRootGeometry

      public Geometry getRootGeometry()
      Returns the location of the root billboard. If this billboard has a location,
      this method is equavalent to the Billboard::getGeometry method. If this billboard is attached
      to another billboard, the hierarchy is traveled recursively and the location of the root
      billboard is returned.
      Returns:
      The geometry object that defines the location of the root billboard. Null if there's no root billboard.
    • getGeometry

      public Geometry getGeometry()
      Returns the geometry object that defines the location of this billboard.
      Overrides:
      getGeometry in class VectorElement
      Returns:
      The geometry object of this billboard.
    • setGeometry

      public void setGeometry(Geometry geometry)
      Sets the location for this billboard. If this billboard is attached
      to another billboard, it will first be detached.
      Parameters:
      geometry - The new geometry object that defines the location of this billboard.
    • setPos

      public void setPos(MapPos pos)
      Sets the location for this billboard. If this billboard is attached
      to another billboard, it will first be detached.
      Parameters:
      pos - The new map position that defines the location of this billboard.
    • getRotation

      public float getRotation()
      Returns the rotation angle of this billboard.
      Returns:
      The rotation angle of this billboard in degrees.
    • setRotation

      public void setRotation(float rotation)
      Sets the rotation angle of this billboard. The rotation angle is ignored if orientation mode is
      set to BillboardOrientation::FACE_CAMERA_BILLBOARD. If the orientation mode is set to
      BillboardOrientation::FACE_CAMERA_GROUND then the rotation angle is added to the calculated billboard
      angle. If the orientation mode is set to BillboardOrientation::GROUND then the rotation means absolute
      rotation, where 0 is points to the north.
      Parameters:
      rotation - The new rotation angle of this billboard in degrees.