Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3D Visualization and EMF

3D Visualization and EMF

Presentation given at Eclipse DemoCamp in München and Zürich in October 2014.

Avatar for Torkild U. Resheim

Torkild U. Resheim

October 28, 2014

More Decks by Torkild U. Resheim

Other Decks in Programming

Transcript

  1. Introduction • Senior Software Developer at Itema AS. • A

    small consulting firm. • All 30 employees are co-owners. • Java/Eclipse, .NET, iOS, Embedded, Android and more. • Committer at Eclipse Mylyn and Orbit projects. Torkild U. Resheim
  2. Oil and gas • Europe’s largest oil exporter, worlds third

    largest gas exporter. • All obtained from the bottom of North Sea. • Extraction is both difficult and dangerous.
  3. Alexander Kielland accident • March 1980. • Semi-submersible drilling rig

    used as a flotel. • Toppled over. • 212 people aboard,123 killed. • Caused by a fatigue crack in the right side of the rig.
  4. MARINTEK • Performs research and development in the field of

    marine technology. • Headquarters and laboratories in Trondheim Norway - subsidiaries in Houston and Rio de Janeiro.
  5. Introducing SIMA • MARINTEK together with Itema develops SIMA -

    a simulations workbench for marine operations. • For beginners: A tool to shorten the time to become proficient in modeling and analysis • For experts: A tool to shorten the time from project initiation to conclusion
  6. SIMA Philosophy • 3D graphical representation of objects as they

    are being modeled • Instant validations of all changes done to a model • Feed input files to physics engines (numerical modules) • Run analysis • Post process analysis results • Generate reports
  7. Animation Visualization Modeling Simulation Class Model Visualizing the EMF Model

    NotifierFactory.create(location,"[utmX,utmY]] ",  new  FeatureChangeListener()  {     public  void  changed(){       updatePresentation();     }   }     Listen to a BodyPoints x,y,z values: create(bodyPoint,  "[x,y,z]")   Listen to all values in bodypoint: create(bodyPoint,  "[*]")   Listen to the winch feature in bodypoint create(bodypoint,  "winch")   Append several notifiers with "|" create(coupling,  "endPoint1.[x,y,z]| endPoint2.[x,y,z]")