Home
Categories
Dictionary
Download
Project Details
Changes Log
Who We Are
FAQ
License

Winder Rose



The winder rose is a 3D compass added to the 3D view. It indicates the orientation of the camera according to the North.

IT is displayed in the center of the screen. There are two versions of the Rose:
  • a Map Item version which map item) which is inside the 3D View of the Maps3D widget
  • a Winder Rose 2D version that is automatically added in the 3d view
The Winder Rose 2D version has a better performance and no buggy visual effects so we only use this version for now. However, because it is built-in in the view, it is not possible to make it invisible.

It rotates and follow the elevation of the camera. The degrees indicated by labels at each intermediate tick follows the camera to always face the user. The Winder Rose have several internal properties to customize it in the hard code of the WinderRose class. We can easily imagine a widget A661_WINDER_ROSE added to the Maps3D widget which would set those properties as attributes or with CSS properties[1]
This a Work to do
.

Internal Properties

There are several internal properties for the Winder Rose which are hardcoded in the WinderRose class:
  • RADIUS: radius of the Rose
  • DIRECTIONAL_TICK_SIZE: the major tick size
  • INTERMEDIATE_TICK_SIZE: the intermediate tick size
  • TINY_TICK_SIZE: the minor tick size
  • DIRECTIONAL_FILL: the color of the major ticks
  • INTERMEDIATE_FILL: the color of the intermediate ticks
  • TINY_FILL: the color of the minor ticks
  • TEXT_FILL the color of the Rose labels
  • CIRCLE_FILL: the fill color of the Rose circle
  • CIRCLE_BORDER: the border color of the Rose circle
  • BORDER_WIDTH: the width of the Rose circle
  • SCALE_TEXT: the scalig of the labels in the Rose circle
      //size of the winder rose
      public static final int RADIUS = 100;
      //size of North, East, West, South Tick
      public static final int DIRECTIONAL_TICK_SIZE = 15;
      //size of intermediate tick
      public static final int INTERMEDIATE_TICK_SIZE = 10;
      //size of intermediate tick (0 make a simple point visible inside circle)
      public static final int TINY_TICK_SIZE = 0;
      //Color of North, East, West, South tick
      private final Color DIRECTIONAL_FILL = Color.WHITE;
      //Color of Intermediate tick
      private final Color INTERMEDIATE_FILL = Color.WHITE;
      //Color of tiny tick
      private final Color TINY_FILL = Color.WHITE;
      //Color of text
      private final Color TEXT_FILL = Color.WHITE;
      //Color of circle
      private final Color CIRCLE_FILL = new Color(0.5, 0.5, 0.5, 0.2);
      //Color of border's circle
      private final Color CIRCLE_BORDER = Color.WHITE;
      //Width of border's circle
      private final int BORDER_WIDTH = 2;
      //Scale (Ratio Size) of the text from default policy
      private static final double SCALE_TEXT = 0.8;

BillBoard effect

There are three types of BillBoard modes for the degrees labels to specify if need to be incrusted in the XoY plan or facing the camera user or a mode between those two possibility. For now, we use the last one, who is the most intuitive to the user. See code of WinderRose class for more details about it.

Notes

  1. ^ This a Work to do

See also


Categories: dev | maps3d | performance | user

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence