Project Details
Changes Log
Who We Are

Winder Rose

    1  Internal Properties
    2  BillBoard effect
    3  Notes

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:

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] .

Internal Properties

There are several internal properties for the Winder Rose which are hardcoded in the WinderRose class:
      //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.


  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

Project Web Hosted by SourceForge.net Copyright 1999-2010 - Geeknet, Inc., All Rights Reserved About - Legal - Help