SlideShare ist ein Scribd-Unternehmen logo
1 von 93
Setup Bookmarkhttp://www.germanium3d.com/cxa2010/links Wi-Fi: Connect to rpguest network Install a web debugger if you don’t have one: ,[object Object]
IE Developer Tools for IETraining will begin at 10:00
GermaniumWebTraining SessionIan LohTechnical Product Manager
Why?
Why GermaniumWeb?
Geospatial mapping with Google Earth
Interior mapping with GermaniumWeb
What?
JavaScript API
How?
How it Works index.html JSAPI www.example.com api.germanium3d.com Web Developer + IE User GermaniumWebIE plugin
How it Works index.html JSAPI www.example.com api.germanium3d.com Web Developer + + GermaniumWebFirefox plugin Firefox User
+ + IE User GermaniumWebFirefox plugin GermaniumWebIE plugin Firefox User
How it Works index.html JSAPI www.example.com api.germanium3d.com Web Developer + GermaniumWebFirefox plugin Firefox User
Basic Anatomy
1. 	Target the JavaScript API <script src="http://api.germanium3d.com/?v=1.4&key=your_API_key"> </script>
2. 	Add a <div> to contain	GermaniumWeb <body> 	<div id="germdiv"style="width:100%; height:100%"></div> </body>
3. Initialize GermaniumWeb <body onload="Init()"> <div id="germdiv" style="width:100%; height:100%"></div> </body> <script type="text/javascript"> vargerm = null; functionInit() { Germanium.CreateInstance("germdiv", OnInitOk); 	} functionOnInitOk(webControl) { 		germ = webControl; 	} </script>
4. Load a building functionOnInitOk(webControl) { 	germ = webControl; germ.Load("http://www.germanium3d.com/static/sample/ generic_building/2.0/generic_building.xlcl"); }
Complete Example http://www.germanium3d.com/cxa2010/links
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
Buildings
BuildingsBlocksLevels
BuildingsBlocksLevels
BBL Example: Office building http://www.germanium3d.com/cxa2010/links  - Office Building
BBL Code Samples http://www.germanium3d.com/cxa2010/links  - Code Samples
The Eye
The Eye
3D Coordinate System
3D Coordinate System - Position Right-hand, Y-up, in metres
3D Coordinate System - Position Right-hand, Y-up, in metres
3D Coordinate System - Orientation Default orientation of (0°, 0°, 0°) points down the negative z-axis
3D Coordinate System - Orientation (0°, 45°, 0°) means a 45° rotation  around the Y-axis
3D Coordinate System - Orientation If you point right thumb in axis direction,  fingers will point in positive rotation direction
3D Coordinate System - Orientation All possible rotation axes
3D Coordinate System - Orientation To work in degrees instead of radians: varright_angle = Germanium.DegreeToRadian(90);
The Eye - Setting the position http://www.germanium3d.com/cxa2010/links  - Code Samples “Let’s meet up here!”
The Eye - Gliding 2 types – Look at/from somewhereor Look at something,e.g. a level, placemark 					  - GlideTargetTo(),GlideEyeTo() 					  - GlideEyeToFit()
The Eye - Gliding Specify parameters in an associative array germ.GetEye().GlideEyeTo( { 	position: [10, 0, 10], targetDistance: 5, 	duration: 10, // 10 seconds } ); Full list of parameters in API documentation, under 	Eye > Specifying glide parameters
The Eye - Gliding http://www.germanium3d.com/cxa2010/links  - Code Samples
Break 
How do I get the position to glide to? “I can see the point that I want,            if only I could just click it!”
How do I get the position to glide to? Answer: mouse click event + Eye.Compute3DIntersection() “But… what are events?”
Events similar to callbacks, tell you when something has happened
Callback “You do something,  tell me when you’re done”
Event “Tell me	 every time this thing happens”
Load Callback vs Event // Load callbacks germ.Load( url, options, successCallback, failureCallback); // Load event germ.AddEventHandler( Germanium.Event.OnLoadEnds, eventHandler);
Event Types ,[object Object]
Eye
File loading
BBL
Placemark and Callout
ClipPlane
ErrorsFull list of events in API documentation, under 	Event > Event names
How do I get the position to glide to? http://www.germanium3d.com/cxa2010/links  - Code Samples mouse click event + Eye.Compute3DIntersection()
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
Placemarks
Placemark Structure Placemark Geometry StyleSet fundamental shape GeometryStyle visual look
Placemark Types ,[object Object]
Arrow (point)
Icon (point)
Line
Polygon,[object Object]
Arrow Placemark Placemark PointGeometry StyleSet ArrowStyle
Icon Placemark Placemark PointGeometry StyleSet IconStyle
Line Placemark Placemark LineStringGeometry StyleSet LineStyle
Polygon Placemark Placemark PolygonGeometry StyleSet PolygonStyle
Customizable Label Placemark PointGeometry StyleSet LabelStyle DiamondStyle
Customizable Callout Balloon Placemark PointGeometry StyleSet BalloonStyle DiamondStyle
Putting it all together Placemark Geometry StyleSet point linestring polygon BalloonStyle LabelStyle GeometryStyle diamond, arrow, icon line polygon
Placemarks - Code Examples http://www.germanium3d.com/cxa2010/links  - Code Samples
Hands-on Session
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
GermaniumWeb Playground http://www.germanium3d.com/cxa2010/links  - Playground
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
IntroductionBuildings & EyePlacemarksOther FeaturesWeb Development
How it Works index.html JSAPI www.example.com api.germanium3d.com Web Developer + GermaniumWebFirefox plugin Firefox User
A typical web environment Webserver:JBoss/Apache/Tomcat/IIS 	scripts:PHP/Python/Perl/Ruby Appserver:JBoss/WebSphere/IIS 	logic: Java servlets/JSP/ASP.NET Database:MySQL/MS SQL index.html JSAPI Static files:.xlcl  (Germanium buildings) Feeds:Project Nimbus/ Google Data APIs www.example.com api.germanium3d.com (GermaniumWeb API server) Data formats:JSON, XML data.example.com (data server) Browser:IE/Firefox/Chrome/Opera Plugins:GermaniumWeb/Flash/Silverlight/Java Client-side scripts:VBScript,   JavaScript + jQuery/MooTools/YUI User
Common Web Dev Tasks Setting up the server environment Commonwebapp operations Bringing your own building (BYOB) ,[object Object]
Deploying,[object Object]
Setting up the server environment index.html www.example.com / - Apache - MySQL - PHP webserver database scripting language -Apache - MySQL - PHP JBoss e.g. WAMP, LAMP, XAMPP
2. Common webapp operations
Common webapp operations Store local state, e.g. cookies Provide user-specific interactions, e.g. sessions Query live data from the server Save user data to the server Perform all of the above asynchronously

Weitere ähnliche Inhalte

Andere mochten auch

Engaging with your audience
Engaging with your audienceEngaging with your audience
Engaging with your audienceFarhan Rehman
 
Getty
GettyGetty
GettyMark
 
Customer journey maps lucy freeborn
Customer journey maps   lucy freebornCustomer journey maps   lucy freeborn
Customer journey maps lucy freebornAlan Rae
 
Entrepreneuria l marketing
Entrepreneuria l marketingEntrepreneuria l marketing
Entrepreneuria l marketingAlan Rae
 
ZA_Portfolio
ZA_PortfolioZA_Portfolio
ZA_Portfoliocdeziner
 
Zeeshan Azeem\’s Portfolio
Zeeshan Azeem\’s PortfolioZeeshan Azeem\’s Portfolio
Zeeshan Azeem\’s Portfoliocdeziner
 
C:\Fakepath\지식경영 미래예측
C:\Fakepath\지식경영 미래예측C:\Fakepath\지식경영 미래예측
C:\Fakepath\지식경영 미래예측yonyseo
 
ferrari
ferrariferrari
ferrariMark
 
Social media for academics
Social media for academicsSocial media for academics
Social media for academicsAlan Rae
 
Customer Journey Maps - a small business case study - Alan Rae
Customer Journey Maps - a small business case study - Alan RaeCustomer Journey Maps - a small business case study - Alan Rae
Customer Journey Maps - a small business case study - Alan RaeAlan Rae
 
How to build a world class horticultural workforce
How to build a world class horticultural workforceHow to build a world class horticultural workforce
How to build a world class horticultural workforceAlan Rae
 
Agile by example 2015: lightning talk - exploring team dynamics
Agile by example 2015: lightning talk - exploring team dynamicsAgile by example 2015: lightning talk - exploring team dynamics
Agile by example 2015: lightning talk - exploring team dynamicsFrederik Vannieuwenhuyse
 
Customer journey mapping - Peter
Customer journey mapping - PeterCustomer journey mapping - Peter
Customer journey mapping - PeterAlan Rae
 

Andere mochten auch (15)

Engaging with your audience
Engaging with your audienceEngaging with your audience
Engaging with your audience
 
Getty
GettyGetty
Getty
 
Customer journey maps lucy freeborn
Customer journey maps   lucy freebornCustomer journey maps   lucy freeborn
Customer journey maps lucy freeborn
 
Entrepreneuria l marketing
Entrepreneuria l marketingEntrepreneuria l marketing
Entrepreneuria l marketing
 
ZA_Portfolio
ZA_PortfolioZA_Portfolio
ZA_Portfolio
 
Zeeshan Azeem\’s Portfolio
Zeeshan Azeem\’s PortfolioZeeshan Azeem\’s Portfolio
Zeeshan Azeem\’s Portfolio
 
C:\Fakepath\지식경영 미래예측
C:\Fakepath\지식경영 미래예측C:\Fakepath\지식경영 미래예측
C:\Fakepath\지식경영 미래예측
 
Morocco
MoroccoMorocco
Morocco
 
ferrari
ferrariferrari
ferrari
 
Social media for academics
Social media for academicsSocial media for academics
Social media for academics
 
Customer Journey Maps - a small business case study - Alan Rae
Customer Journey Maps - a small business case study - Alan RaeCustomer Journey Maps - a small business case study - Alan Rae
Customer Journey Maps - a small business case study - Alan Rae
 
How to build a world class horticultural workforce
How to build a world class horticultural workforceHow to build a world class horticultural workforce
How to build a world class horticultural workforce
 
Agile by example 2015: lightning talk - exploring team dynamics
Agile by example 2015: lightning talk - exploring team dynamicsAgile by example 2015: lightning talk - exploring team dynamics
Agile by example 2015: lightning talk - exploring team dynamics
 
Kurikulum
KurikulumKurikulum
Kurikulum
 
Customer journey mapping - Peter
Customer journey mapping - PeterCustomer journey mapping - Peter
Customer journey mapping - Peter
 

Ähnlich wie GermaniumWeb training for CXA2010

Widget Summit 2008
Widget Summit 2008Widget Summit 2008
Widget Summit 2008Volkan Unsal
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in DjangoLakshman Prasad
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)Massimo Oliviero
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileTerry Ryan
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Steve Souders
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSmurtazahaveliwala
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Building Blocks
 
Open Source Web Technologies
Open Source Web TechnologiesOpen Source Web Technologies
Open Source Web TechnologiesAastha Sethi
 
A I R Presentation Dev Camp Feb 08
A I R  Presentation  Dev Camp  Feb 08A I R  Presentation  Dev Camp  Feb 08
A I R Presentation Dev Camp Feb 08Abdul Qabiz
 
Client-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesClient-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesOry Segal
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Seleniumadamcarmi
 
Angularjs Tutorial for Beginners
Angularjs Tutorial for BeginnersAngularjs Tutorial for Beginners
Angularjs Tutorial for Beginnersrajkamaltibacademy
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of GaiaJesse Warden
 

Ähnlich wie GermaniumWeb training for CXA2010 (20)

Widget Summit 2008
Widget Summit 2008Widget Summit 2008
Widget Summit 2008
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
Oscon 20080724
Oscon 20080724Oscon 20080724
Oscon 20080724
 
Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)Advanced iOS Debbuging (Reloaded)
Advanced iOS Debbuging (Reloaded)
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery Mobile
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
 
HTML5 Introduction by Dhepthi L
HTML5 Introduction by Dhepthi LHTML5 Introduction by Dhepthi L
HTML5 Introduction by Dhepthi L
 
Open Source Web Technologies
Open Source Web TechnologiesOpen Source Web Technologies
Open Source Web Technologies
 
A I R Presentation Dev Camp Feb 08
A I R  Presentation  Dev Camp  Feb 08A I R  Presentation  Dev Camp  Feb 08
A I R Presentation Dev Camp Feb 08
 
Client-side JavaScript Vulnerabilities
Client-side JavaScript VulnerabilitiesClient-side JavaScript Vulnerabilities
Client-side JavaScript Vulnerabilities
 
SeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With SeleniumSeConf2015: Advanced Automated Visual Testing With Selenium
SeConf2015: Advanced Automated Visual Testing With Selenium
 
Angularjs Tutorial for Beginners
Angularjs Tutorial for BeginnersAngularjs Tutorial for Beginners
Angularjs Tutorial for Beginners
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of Gaia
 

Kürzlich hochgeladen

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Kürzlich hochgeladen (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

GermaniumWeb training for CXA2010

Hinweis der Redaktion

  1. GermaniumWeb is not a 3D engine like WebGL, O3D, Unity3DIt is an mapping engine like Google Earth or Bing Maps 3D, but specialized for interiorsThat means you don’t have to learn advanced 3D graphics and deal with triangles and shaders, learn complex 3D coordinate systems.You do get easy access to rich functionality such as placemarks and the eye/camera.
  2. … of an app. Let’s take a look at the conceptual steps to getting GermaniumWeb into your webpage.
  3. When the HTML has been loaded, call the Init() function.TheInit() function puts GermWeb into the prepared div, and asks the API to call the OnInitOk function when ready. The OnInitOk function receives the WebControl, which is the master plugin object.
  4. Ask the WebControl object to download &amp; load a building.
  5. Mouse guide:LMB: pan laterallyMMB: orbitRMB: zoom
  6. That was the introduction to GermaniumWeb
  7. The other things you’ll learn today are
  8. how to manipulate buildings and the eye
  9. how to use placemarks to mark an important part of the building
  10. Then we’ll briefly go through other features not covered by this training
  11. And cover issues to be aware of while developing your webapp
  12. So let’s start with buildings.
  13. Germanium models the world as collections of buildings, blocks, and levels. Buildings (or rather, building complexes) are made of blocks. Blocks are made of levels, stacked vertically. This is very intuitive and fits with our common understanding of ‘a building’.For short, we refer to them as ‘BBL’ objects.
  14. Note that buildings are modeled beforehand, and just loaded into the app at runtime. At runtime, you merely manipulate the loaded model, e.g. turning on/off levels , move the eye to take a closer look at level 2, etc.We will cover building modeling in the app development issues later.
  15. So that was the view of the BBL through a webpage interface. So how do you as a developer get access to the BBL to program its behaviour?BBLid – Unique within its parent’s scope, so to specify a level, you need its building, block, and level bblid. Specified by modeler, e.g. using Building ComposerFor Generic office and the other buildings on our website, you can find out the bblids using their viewer appsFor other buildings, can use the code snippet on our interactive sampler on our website.Introduce API Documentation when showing Level. Show how to get there on website.Introduce callback functions.Samples: Load a buildingHide a levelHide other levels
  16. So now that we know how to show Level 2, and hide the levels above it, we want to show our user something on Level 2, e.g. a meeting area. In other words, we want to bring Germanium’s eye over to the room.
  17. First up, is the Eye itself.The eye consists of several parameters:positionorientationtarget distancetarget position - which can be derived, or set directlyGermanium allows you to set the target position because you usually want to tell the eye to look at something rather than where to go.Right now we’re only concerned with the target position, because we want to look at the meeting area. This position is specified in Germanium’s
  18. … 3D Coordinate System.
  19. Arrows point in the positive direction.
  20. How do you remember which direction to rotate?
  21. Personally I find it easier to remember the thumbscrew rule. After all, I carry my fingers around with me everywhere, not a diagram 
  22. Germanium’s coordinate system works in radians. If you’re like me, and you prefer to think in degrees, there’s a convenient function to convert it for you.
  23. Just accept the 3D coordinates for now, I’ll explain later how to get them.In this sample, you can see several things going on, so let’s take a closer look at them one by one.Samples:Set a target positionGlide to a target position
  24. Setting the position directly is bad as it makes users lose their orientation. Far better to animatedly bring your users from where they are to what you want to show them. To do this, we use the glide functions. If you’re familiar with Google Earth, they call this feature “fly-to”.
  25. The glide functions make use of the JavaScript feature called associative arrays, which is just a fancy way of saying key-value pairs.
  26. Samples:Glide to a levelGlide to a level with orientation
  27. Break from 1100-1120 or 1500-1520
  28. Previously the coordinates were just provided. Here’s how to get them. So, you can see the position you want, so how do you get the 3D coordinates of that point?
  29. Germanium does tell you when the user clicks, and where in the window s/he clicked. With the help of Compute3DIntersection(), you can convert this to 3D coordinates.Let’s take a look the 2 parts one by one. First up are events.
  30. Events are very similar to theCreateInstance and Load callbacks we’ve already seen. Both events and callbacks tell you when something has happened.
  31. Events not only tell you when something has happened, they give you more information about the event, e.g. mouse button, window coordinates, etc.This click + Compute3DIntersection combination is very useful, as we’ll see later in the placemarks.Samples:1. Get clicked position
  32. Placemarks allow you to annotate the building and mark out places of significance.
  33. Placemark – name, description, contentGeometry - the fundamental shape of the placemark, e.g. when you’re concerned with ‘Where Am I?’ you’re thinking of a 3D coordinate position. Whether it looks like a diamond, arrow, or icon, is unimportant at this time.GeometryStyleapplies a visual look to the geometry. Similar to HTML and CSS.
  34. Can control color and shape of the diamond.
  35. Can control color and shape of the arrow.
  36. Icons are useful when you want the placemark to look the same size no matter how far away you are.Can use practically any image on the web.
  37. Can apply line patterns.Can animate.
  38. Specify vertices, Germanium will fill in the polygon. Can also extrude.
  39. Samples:All placemark samplesFor more code examples, http://www.germanium3d.com/code/LinePolygonConcepts
  40. Hands-on Session from 1200-1220 or 1600-1620
  41. Auto-rotationSolid background color, SkyboxOrthographic viewFirst Person NavigationClip Planes
  42. This section is for people who don’t already have a web development environment.
  43. …tasks you will probably have to perform for the competition.It’s also possible that your webapp will be very simple, don’t need live data or to save data, you can skip all this and just run a single machine.
  44. If you do need a server environment and don’t already have one, here’s what we recommend.
  45. When you develop a real web or mobile application, you will very likely need to perform some common tasks or operations. I’ll just be listing some of the most common ones, so if you don’t already know how to do them, you can prepare for the competition by trying them out.
  46. #2 – GMail = 100% user-specific. Google My Maps = partially user-specific.#5 – Desired behaviour rather than an operation.
  47. This step is Germanium-specific, for those of you who want to Bring Your Own Building
  48. How to place geopositioned data on SoC:http://www.germanium3d.com/forum/viewtopic.php?f=2&amp;t=399
  49. Allowed to do this before competition
  50. We also have a real-time modeling guide on our website, which gives pointers on how to optimize your building model.
  51. So after modeling, you need to deploy the building file on a server. Or if you want to make a local copy of our sample buildings on your own server.