Rename CameraMode to ProjectionMode.

This commit is contained in:
kovacsv 2023-10-14 07:44:44 +02:00
parent ae2557bb81
commit d7db1442b2
31 changed files with 100 additions and 82 deletions

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>
@ -87,8 +87,8 @@
<div class="parameter_description">Camera to use. If not specified, the default camera will be used and the model will be fitted to the window.</div> <div class="parameter_description">Camera to use. If not specified, the default camera will be used and the model will be fitted to the window.</div>
</div> </div>
<div class="parameter_header"> <div class="parameter_header">
<span class="parameter_name">cameraMode</span> <span class="parameter_name">projectionMode</span>
<span class="type parameter_type"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></span> <span class="type parameter_type"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></span>
<span class="parameter_attributes">(optional)</span> <span class="parameter_attributes">(optional)</span>
</div> </div>
<div class="parameter_main"> <div class="parameter_main">

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, user-scalable=no"> <meta name="viewport" content="width=device-width, user-scalable=no">
<link rel="icon" type="image/png" href="static/3dviewer_net_favicon.ico"> <link rel="icon" type="image/png" href="static/3dviewer_net_favicon.ico">
<title>Online 3D Viewer - CameraMode</title> <title>Online 3D Viewer - ProjectionMode</title>
<link rel="stylesheet" href="static/highlightjs/styles/github.min.css"/> <link rel="stylesheet" href="static/highlightjs/styles/github.min.css"/>
<script src="static/highlightjs/highlight.min.js"></script> <script src="static/highlightjs/highlight.min.js"></script>
@ -53,13 +53,13 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>
<div id="main" class="main"> <div id="main" class="main">
<h1>CameraMode</h1> <h1>ProjectionMode</h1>
<div class="description">Camera projection mode.</div> <div class="description">Camera projection mode.</div>
<h2>Values</h2> <h2>Values</h2>
<div class="parameter_header"> <div class="parameter_header">
@ -76,7 +76,7 @@
</div> </div>
</div> </div>
<script type="text/javascript">Init ('CameraMode')</script> <script type="text/javascript">Init ('ProjectionMode')</script>
</body> </body>
</html> </html>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>
@ -64,14 +64,19 @@
<p>This document lists changes in the engine to help you to migrate your code base.</p> <p>This document lists changes in the engine to help you to migrate your code base.</p>
<h2>0.11.0</h2>
<ul>
<li>CameraMode is renamed to <a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a>. The corresponding parameter also changed in <a href="Class_EmbeddedViewer.html" target="_self">EmbeddedViewer</a> from <code class="inline">cameraMode</code> to <code class="inline">projectionMode</code>.</li>
</ul>
<h2>0.8.21</h2> <h2>0.8.21</h2>
<ul> <ul>
<li><a href="Function_Init3DViewerElements.html" target="_self">Init3DViewerElements</a> must be called when the document is loaded and returns an array of the created <a href="Class_EmbeddedViewer.html" target="_self">EmbeddedViewer</a> objects. Earlier it registered a load event handler inside, now it's the responsibility of the caller.</li> <li><a href="Function_Init3DViewerElements.html" target="_self">Init3DViewerElements</a> must be called when the document is loaded and returns an array of the created <a href="Class_EmbeddedViewer.html" target="_self">EmbeddedViewer</a> objects. Earlier it registered a load event handler inside, now it's the responsibility of the caller.</li>
</ul> </ul>
<h2>0.8.20</h2>
<h2>0.8.21</h2>
<ul> <ul>
<li>Init3DViewerElement has been renamed to <a href="Function_Init3DViewerFromUrlList.html" target="_self">Init3DViewerFromUrlList</a>.</li> <li>Init3DViewerElement has been renamed to <a href="Function_Init3DViewerFromUrlList.html" target="_self">Init3DViewerFromUrlList</a>.</li>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -53,8 +53,8 @@
</div> </div>
<div class="navigation_section"> <div class="navigation_section">
<div class="navigation_title">Enums</div> <div class="navigation_title">Enums</div>
<div id="nav-CameraMode" class="navigation_item"><a href="Enum_CameraMode.html" target="_self">CameraMode</a></div>
<div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div> <div id="nav-FileSource" class="navigation_item"><a href="Enum_FileSource.html" target="_self">FileSource</a></div>
<div id="nav-ProjectionMode" class="navigation_item"><a href="Enum_ProjectionMode.html" target="_self">ProjectionMode</a></div>
</div> </div>
</div> </div>

View File

@ -2,14 +2,19 @@
<p>This document lists changes in the engine to help you to migrate your code base.</p> <p>This document lists changes in the engine to help you to migrate your code base.</p>
<h2>0.11.0</h2>
<ul>
<li>{@link CameraMode} is renamed to {@link ProjectionMode}. The corresponding parameter also changed in {@link EmbeddedViewer} from <code class="inline">cameraMode</code> to <code class="inline">projectionMode</code>.</li>
</ul>
<h2>0.8.21</h2> <h2>0.8.21</h2>
<ul> <ul>
<li>{@link Init3DViewerElements} must be called when the document is loaded and returns an array of the created {@link EmbeddedViewer} objects. Earlier it registered a load event handler inside, now it's the responsibility of the caller.</li> <li>{@link Init3DViewerElements} must be called when the document is loaded and returns an array of the created {@link EmbeddedViewer} objects. Earlier it registered a load event handler inside, now it's the responsibility of the caller.</li>
</ul> </ul>
<h2>0.8.20</h2>
<h2>0.8.21</h2>
<ul> <ul>
<li>{@link Init3DViewerElement} has been renamed to {@link Init3DViewerFromUrlList}.</li> <li>{@link Init3DViewerElement} has been renamed to {@link Init3DViewerFromUrlList}.</li>

View File

@ -42,6 +42,11 @@
src="../../website/embed.html#model=assets/models/solids.obj,assets/models/solids.mtl$camera=2.18558,4.53834,2.35460,3.62488,2.61927,-0.52401,0.00000,1.00000,0.00000$cameramode=orthographic"> src="../../website/embed.html#model=assets/models/solids.obj,assets/models/solids.mtl$camera=2.18558,4.53834,2.35460,3.62488,2.61927,-0.52401,0.00000,1.00000,0.00000$cameramode=orthographic">
</iframe> </iframe>
<iframe
width="360" height="240" style="border:1px solid #eeeeee;"
src="../../website/embed.html#model=assets/models/solids.obj,assets/models/solids.mtl$camera=2.18558,4.53834,2.35460,3.62488,2.61927,-0.52401,0.00000,1.00000,0.00000$projectionmode=orthographic">
</iframe>
<div class="online_3d_viewer" <div class="online_3d_viewer"
style="width: 360px; height: 240px;" style="width: 360px; height: 240px;"
model="../website/assets/models/solids.obj,../website/assets/models/solids.mtl" model="../website/assets/models/solids.obj,../website/assets/models/solids.mtl"
@ -58,7 +63,7 @@
style="width: 360px; height: 240px;" style="width: 360px; height: 240px;"
model="../website/assets/models/solids.obj,../website/assets/models/solids.mtl" model="../website/assets/models/solids.obj,../website/assets/models/solids.mtl"
camera="2.18558,4.53834,2.35460,3.62488,2.61927,-0.52401,0.00000,1.00000,0.00000" camera="2.18558,4.53834,2.35460,3.62488,2.61927,-0.52401,0.00000,1.00000,0.00000"
cameramode="orthographic"> projectionmode="orthographic">
</div> </div>
</body> </body>

View File

@ -65,7 +65,7 @@ import { ParameterListBuilder, ParameterListParser, CreateUrlBuilder, CreateUrlP
import { ModelToThreeConversionParams, ModelToThreeConversionOutput, ThreeConversionStateHandler, ThreeNodeTree, ConvertModelToThreeObject } from './threejs/threeconverter.js'; import { ModelToThreeConversionParams, ModelToThreeConversionOutput, ThreeConversionStateHandler, ThreeNodeTree, ConvertModelToThreeObject } from './threejs/threeconverter.js';
import { ThreeModelLoader } from './threejs/threemodelloader.js'; import { ThreeModelLoader } from './threejs/threemodelloader.js';
import { ThreeColorConverter, ThreeLinearToSRGBColorConverter, ThreeSRGBToLinearColorConverter, HasHighpDriverIssue, GetShadingType, ConvertThreeColorToColor, ConvertColorToThreeColor, ConvertThreeGeometryToMesh, DisposeThreeObjects, ShadingType } from './threejs/threeutils.js'; import { ThreeColorConverter, ThreeLinearToSRGBColorConverter, ThreeSRGBToLinearColorConverter, HasHighpDriverIssue, GetShadingType, ConvertThreeColorToColor, ConvertColorToThreeColor, ConvertThreeGeometryToMesh, DisposeThreeObjects, ShadingType } from './threejs/threeutils.js';
import { Camera, CameraIsEqual3D, CameraMode } from './viewer/camera.js'; import { Camera, CameraIsEqual3D, ProjectionMode } from './viewer/camera.js';
import { GetIntegerFromStyle, GetDomElementExternalWidth, GetDomElementExternalHeight, GetDomElementInnerDimensions, GetDomElementClientCoordinates, CreateDomElement, AddDomElement, AddDiv, ClearDomElement, InsertDomElementBefore, InsertDomElementAfter, ShowDomElement, IsDomElementVisible, SetDomElementWidth, SetDomElementHeight, GetDomElementOuterWidth, GetDomElementOuterHeight, SetDomElementOuterWidth, SetDomElementOuterHeight, CreateDiv } from './viewer/domutils.js'; import { GetIntegerFromStyle, GetDomElementExternalWidth, GetDomElementExternalHeight, GetDomElementInnerDimensions, GetDomElementClientCoordinates, CreateDomElement, AddDomElement, AddDiv, ClearDomElement, InsertDomElementBefore, InsertDomElementAfter, ShowDomElement, IsDomElementVisible, SetDomElementWidth, SetDomElementHeight, GetDomElementOuterWidth, GetDomElementOuterHeight, SetDomElementOuterWidth, SetDomElementOuterHeight, CreateDiv } from './viewer/domutils.js';
import { EmbeddedViewer, Init3DViewerFromUrlList, Init3DViewerFromFileList, Init3DViewerElements } from './viewer/embeddedviewer.js'; import { EmbeddedViewer, Init3DViewerFromUrlList, Init3DViewerFromFileList, Init3DViewerElements } from './viewer/embeddedviewer.js';
import { MouseInteraction, TouchInteraction, ClickDetector, Navigation, NavigationType } from './viewer/navigation.js'; import { MouseInteraction, TouchInteraction, ClickDetector, Navigation, NavigationType } from './viewer/navigation.js';
@ -296,7 +296,7 @@ export {
ShadingType, ShadingType,
Camera, Camera,
CameraIsEqual3D, CameraIsEqual3D,
CameraMode, ProjectionMode,
GetIntegerFromStyle, GetIntegerFromStyle,
GetDomElementExternalWidth, GetDomElementExternalWidth,
GetDomElementExternalHeight, GetDomElementExternalHeight,

View File

@ -1,6 +1,6 @@
import { Coord3D } from '../geometry/coord3d.js'; import { Coord3D } from '../geometry/coord3d.js';
import { RGBAColor, RGBColor } from '../model/color.js'; import { RGBAColor, RGBColor } from '../model/color.js';
import { Camera, CameraMode } from '../viewer/camera.js'; import { Camera, ProjectionMode } from '../viewer/camera.js';
import { EdgeSettings } from '../viewer/viewermodel.js'; import { EdgeSettings } from '../viewer/viewermodel.js';
export let ParameterConverter = export let ParameterConverter =
@ -56,11 +56,11 @@ export let ParameterConverter =
return cameraParameters; return cameraParameters;
}, },
CameraModeToString : function (cameraMode) CameraModeToString : function (projectionMode)
{ {
if (cameraMode === CameraMode.Perspective) { if (projectionMode === ProjectionMode.Perspective) {
return 'perspective'; return 'perspective';
} else if (cameraMode === CameraMode.Orthographic) { } else if (projectionMode === ProjectionMode.Orthographic) {
return 'orthographic'; return 'orthographic';
} }
return null; return null;
@ -93,9 +93,9 @@ export let ParameterConverter =
StringToCameraMode : function (str) StringToCameraMode : function (str)
{ {
if (str === 'perspective') { if (str === 'perspective') {
return CameraMode.Perspective; return ProjectionMode.Perspective;
} else if (str === 'orthographic') { } else if (str === 'orthographic') {
return CameraMode.Orthographic; return ProjectionMode.Orthographic;
} }
return null; return null;
}, },
@ -245,9 +245,9 @@ export class ParameterListBuilder
return this; return this;
} }
AddCameraMode (cameraMode) AddCameraMode (projectionMode)
{ {
this.AddUrlPart ('cameramode', ParameterConverter.CameraModeToString (cameraMode)); this.AddUrlPart ('projectionmode', ParameterConverter.CameraModeToString (projectionMode));
return this; return this;
} }
@ -319,7 +319,10 @@ export class ParameterListParser
GetCameraMode () GetCameraMode ()
{ {
let keywordParams = this.GetKeywordParams ('cameramode'); let keywordParams = this.GetKeywordParams ('cameramode'); // for compatibility
if (keywordParams === null) {
keywordParams = this.GetKeywordParams ('projectionmode');
}
return ParameterConverter.StringToCameraMode (keywordParams); return ParameterConverter.StringToCameraMode (keywordParams);
} }

View File

@ -5,7 +5,7 @@ import { IsEqual } from '../geometry/geometry.js';
* Camera projection mode. * Camera projection mode.
* @enum * @enum
*/ */
export const CameraMode = export const ProjectionMode =
{ {
/** Perspective projection. */ /** Perspective projection. */
Perspective : 1, Perspective : 1,

View File

@ -20,7 +20,7 @@ export class EmbeddedViewer
* @param {object} parameters Parameters for embedding. * @param {object} parameters Parameters for embedding.
* @param {Camera} [parameters.camera] Camera to use. If not specified, the default camera will * @param {Camera} [parameters.camera] Camera to use. If not specified, the default camera will
* be used and the model will be fitted to the window. * be used and the model will be fitted to the window.
* @param {CameraMode} [parameters.cameraMode] Camera projection mode. * @param {ProjectionMode} [parameters.projectionMode] Camera projection mode.
* @param {RGBAColor} [parameters.backgroundColor] Background color of the canvas. * @param {RGBAColor} [parameters.backgroundColor] Background color of the canvas.
* @param {RGBColor} [parameters.defaultColor] Default color of the model. It has effect only * @param {RGBColor} [parameters.defaultColor] Default color of the model. It has effect only
* if the imported model doesn't specify any color. * if the imported model doesn't specify any color.
@ -47,8 +47,8 @@ export class EmbeddedViewer
let height = this.parentElement.clientHeight; let height = this.parentElement.clientHeight;
this.viewer.Resize (width, height); this.viewer.Resize (width, height);
if (this.parameters.cameraMode) { if (this.parameters.projectionMode) {
this.viewer.SetCameraMode (this.parameters.cameraMode); this.viewer.SetCameraMode (this.parameters.projectionMode);
} }
if (this.parameters.backgroundColor) { if (this.parameters.backgroundColor) {
@ -257,10 +257,10 @@ export function Init3DViewerElements (onReady)
camera = ParameterConverter.StringToCamera (cameraParams); camera = ParameterConverter.StringToCamera (cameraParams);
} }
let cameraMode = null; let projectionMode = null;
let cameraModeParams = element.getAttribute ('cameramode'); let cameraModeParams = element.getAttribute ('projectionmode');
if (cameraModeParams) { if (cameraModeParams) {
cameraMode = ParameterConverter.StringToCameraMode (cameraModeParams); projectionMode = ParameterConverter.StringToCameraMode (cameraModeParams);
} }
let backgroundColor = null; let backgroundColor = null;
@ -303,7 +303,7 @@ export function Init3DViewerElements (onReady)
return Init3DViewerFromUrlList (element, modelUrls, { return Init3DViewerFromUrlList (element, modelUrls, {
camera : camera, camera : camera,
cameraMode : cameraMode, projectionMode : projectionMode,
backgroundColor : backgroundColor, backgroundColor : backgroundColor,
defaultColor : defaultColor, defaultColor : defaultColor,
edgeSettings : edgeSettings, edgeSettings : edgeSettings,

View File

@ -1,5 +1,5 @@
import { SubCoord3D } from '../geometry/coord3d.js'; import { SubCoord3D } from '../geometry/coord3d.js';
import { CameraMode } from '../viewer/camera.js'; import { ProjectionMode } from '../viewer/camera.js';
import { ConvertColorToThreeColor, ShadingType } from '../threejs/threeutils.js'; import { ConvertColorToThreeColor, ShadingType } from '../threejs/threeutils.js';
import * as THREE from 'three'; import * as THREE from 'three';
@ -44,7 +44,7 @@ export class ShadingModel
this.scene = scene; this.scene = scene;
this.type = ShadingType.Phong; this.type = ShadingType.Phong;
this.cameraMode = CameraMode.Perspective; this.projectionMode = ProjectionMode.Perspective;
this.ambientLight = new THREE.AmbientLight (0x888888, 1.0 * Math.PI); this.ambientLight = new THREE.AmbientLight (0x888888, 1.0 * Math.PI);
this.directionalLight = new THREE.DirectionalLight (0x888888, 1.0 * Math.PI); this.directionalLight = new THREE.DirectionalLight (0x888888, 1.0 * Math.PI);
this.environmentSettings = new EnvironmentSettings (null, false); this.environmentSettings = new EnvironmentSettings (null, false);
@ -60,9 +60,9 @@ export class ShadingModel
this.UpdateShading (); this.UpdateShading ();
} }
SetCameraMode (cameraMode) SetCameraMode (projectionMode)
{ {
this.cameraMode = cameraMode; this.projectionMode = projectionMode;
this.UpdateShading (); this.UpdateShading ();
} }
@ -77,7 +77,7 @@ export class ShadingModel
this.directionalLight.color.set (0x555555); this.directionalLight.color.set (0x555555);
this.scene.environment = this.environment; this.scene.environment = this.environment;
} }
if (this.environmentSettings.backgroundIsEnvMap && this.cameraMode === CameraMode.Perspective) { if (this.environmentSettings.backgroundIsEnvMap && this.projectionMode === ProjectionMode.Perspective) {
this.scene.background = this.environment; this.scene.background = this.environment;
} else { } else {
this.scene.background = null; this.scene.background = null;

View File

@ -2,7 +2,7 @@ import { Coord3D, CoordDistance3D, SubCoord3D } from '../geometry/coord3d.js';
import { DegRad, Direction, IsEqual } from '../geometry/geometry.js'; import { DegRad, Direction, IsEqual } from '../geometry/geometry.js';
import { ColorComponentToFloat } from '../model/color.js'; import { ColorComponentToFloat } from '../model/color.js';
import { ShadingType } from '../threejs/threeutils.js'; import { ShadingType } from '../threejs/threeutils.js';
import { Camera, CameraMode } from './camera.js'; import { Camera, ProjectionMode } from './camera.js';
import { GetDomElementInnerDimensions } from './domutils.js'; import { GetDomElementInnerDimensions } from './domutils.js';
import { Navigation } from './navigation.js'; import { Navigation } from './navigation.js';
import { ShadingModel } from './shadingmodel.js'; import { ShadingModel } from './shadingmodel.js';
@ -167,7 +167,7 @@ export class Viewer
this.mainModel = null; this.mainModel = null;
this.extraModel = null; this.extraModel = null;
this.camera = null; this.camera = null;
this.cameraMode = null; this.projectionMode = null;
this.cameraValidator = null; this.cameraValidator = null;
this.shadingModel = null; this.shadingModel = null;
this.navigation = null; this.navigation = null;
@ -262,7 +262,7 @@ export class Viewer
GetCameraMode () GetCameraMode ()
{ {
return this.cameraMode; return this.projectionMode;
} }
SetCamera (camera) SetCamera (camera)
@ -272,22 +272,22 @@ export class Viewer
this.Render (); this.Render ();
} }
SetCameraMode (cameraMode) SetCameraMode (projectionMode)
{ {
if (this.cameraMode === cameraMode) { if (this.projectionMode === projectionMode) {
return; return;
} }
this.scene.remove (this.camera); this.scene.remove (this.camera);
if (cameraMode === CameraMode.Perspective) { if (projectionMode === ProjectionMode.Perspective) {
this.camera = new THREE.PerspectiveCamera (45.0, 1.0, 0.1, 1000.0); this.camera = new THREE.PerspectiveCamera (45.0, 1.0, 0.1, 1000.0);
} else if (cameraMode === CameraMode.Orthographic) { } else if (projectionMode === ProjectionMode.Orthographic) {
this.camera = new THREE.OrthographicCamera (-1.0, 1.0, 1.0, -1.0, 0.1, 1000.0); this.camera = new THREE.OrthographicCamera (-1.0, 1.0, 1.0, -1.0, 0.1, 1000.0);
} }
this.scene.add (this.camera); this.scene.add (this.camera);
this.cameraMode = cameraMode; this.projectionMode = projectionMode;
this.shadingModel.SetCameraMode (cameraMode); this.shadingModel.SetCameraMode (projectionMode);
this.cameraValidator.ForceUpdate (); this.cameraValidator.ForceUpdate ();
this.AdjustClippingPlanes (); this.AdjustClippingPlanes ();
@ -394,13 +394,13 @@ export class Viewer
this.camera.up.set (navigationCamera.up.x, navigationCamera.up.y, navigationCamera.up.z); this.camera.up.set (navigationCamera.up.x, navigationCamera.up.y, navigationCamera.up.z);
this.camera.lookAt (new THREE.Vector3 (navigationCamera.center.x, navigationCamera.center.y, navigationCamera.center.z)); this.camera.lookAt (new THREE.Vector3 (navigationCamera.center.x, navigationCamera.center.y, navigationCamera.center.z));
if (this.cameraMode === CameraMode.Perspective) { if (this.projectionMode === ProjectionMode.Perspective) {
if (!this.cameraValidator.ValidatePerspective ()) { if (!this.cameraValidator.ValidatePerspective ()) {
this.camera.aspect = this.canvas.width / this.canvas.height; this.camera.aspect = this.canvas.width / this.canvas.height;
this.camera.fov = navigationCamera.fov; this.camera.fov = navigationCamera.fov;
this.camera.updateProjectionMatrix (); this.camera.updateProjectionMatrix ();
} }
} else if (this.cameraMode === CameraMode.Orthographic) { } else if (this.projectionMode === ProjectionMode.Orthographic) {
let eyeCenterDistance = CoordDistance3D (navigationCamera.eye, navigationCamera.center); let eyeCenterDistance = CoordDistance3D (navigationCamera.eye, navigationCamera.center);
if (!this.cameraValidator.ValidateOrthographic (eyeCenterDistance)) { if (!this.cameraValidator.ValidateOrthographic (eyeCenterDistance)) {
let aspect = this.canvas.width / this.canvas.height; let aspect = this.canvas.width / this.canvas.height;
@ -539,7 +539,7 @@ export class Viewer
{ {
let camera = GetDefaultCamera (Direction.Y); let camera = GetDefaultCamera (Direction.Y);
this.camera = new THREE.PerspectiveCamera (45.0, 1.0, 0.1, 1000.0); this.camera = new THREE.PerspectiveCamera (45.0, 1.0, 0.1, 1000.0);
this.cameraMode = CameraMode.Perspective; this.projectionMode = ProjectionMode.Perspective;
this.cameraValidator = new CameraValidator (); this.cameraValidator = new CameraValidator ();
this.scene.add (this.camera); this.scene.add (this.camera);

View File

@ -51,9 +51,9 @@ export class Embed
let environmentSettings = new EnvironmentSettings (envMapTextures, bgIsEnvMap); let environmentSettings = new EnvironmentSettings (envMapTextures, bgIsEnvMap);
this.viewer.SetEnvironmentMapSettings (environmentSettings); this.viewer.SetEnvironmentMapSettings (environmentSettings);
let cameraMode = this.hashHandler.GetCameraModeFromHash (); let projectionMode = this.hashHandler.GetCameraModeFromHash ();
if (cameraMode !== null) { if (projectionMode !== null) {
this.viewer.SetCameraMode (cameraMode); this.viewer.SetCameraMode (projectionMode);
} }
let background = this.hashHandler.GetBackgroundFromHash (); let background = this.hashHandler.GetBackgroundFromHash ();
if (background !== null) { if (background !== null) {

View File

@ -6,7 +6,7 @@ import { PopupDialog } from './dialog.js';
import { Settings } from './settings.js'; import { Settings } from './settings.js';
import { SidebarPanel } from './sidebarpanel.js'; import { SidebarPanel } from './sidebarpanel.js';
import { ShadingType } from '../engine/threejs/threeutils.js'; import { ShadingType } from '../engine/threejs/threeutils.js';
import { CameraMode } from '../engine/viewer/camera.js'; import { ProjectionMode } from '../engine/viewer/camera.js';
import * as Pickr from '@simonwep/pickr'; import * as Pickr from '@simonwep/pickr';
import '@simonwep/pickr/dist/themes/monolith.min.css'; import '@simonwep/pickr/dist/themes/monolith.min.css';
@ -121,7 +121,7 @@ class EnvironmentMapPopup extends PopupDialog
}); });
} }
} else if (shadingType === ShadingType.Physical) { } else if (shadingType === ShadingType.Physical) {
let isPerspective = (callbacks.getCameraMode () === CameraMode.Perspective); let isPerspective = (callbacks.getCameraMode () === ProjectionMode.Perspective);
if (isPerspective) { if (isPerspective) {
let checkboxDiv = AddDiv (contentDiv, 'ov_environment_map_checkbox'); let checkboxDiv = AddDiv (contentDiv, 'ov_environment_map_checkbox');
let backgroundIsEnvMapCheckbox = AddCheckbox (checkboxDiv, 'use_as_background', 'Use as background image', settings.backgroundIsEnvMap, () => { let backgroundIsEnvMapCheckbox = AddCheckbox (checkboxDiv, 'use_as_background', 'Use as background image', settings.backgroundIsEnvMap, () => {
@ -345,7 +345,7 @@ class SettingsModelDisplaySection extends SettingsSection
{ {
let isPhysicallyBased = (this.callbacks.getShadingType () === ShadingType.Physical); let isPhysicallyBased = (this.callbacks.getShadingType () === ShadingType.Physical);
if (this.environmentMapPhongDiv !== null) { if (this.environmentMapPhongDiv !== null) {
let isPerspective = (this.callbacks.getCameraMode () === CameraMode.Perspective); let isPerspective = (this.callbacks.getCameraMode () === ProjectionMode.Perspective);
ShowDomElement (this.environmentMapPhongDiv, !isPhysicallyBased && isPerspective); ShowDomElement (this.environmentMapPhongDiv, !isPhysicallyBased && isPerspective);
} }
if (this.environmentMapPbrDiv !== null) { if (this.environmentMapPbrDiv !== null) {

View File

@ -1,7 +1,7 @@
import { GetFileExtension, TransformFileHostUrls } from '../engine/io/fileutils.js'; import { GetFileExtension, TransformFileHostUrls } from '../engine/io/fileutils.js';
import { InputFilesFromFileObjects, InputFilesFromUrls } from '../engine/import/importerfiles.js'; import { InputFilesFromFileObjects, InputFilesFromUrls } from '../engine/import/importerfiles.js';
import { ImportErrorCode, ImportSettings } from '../engine/import/importer.js'; import { ImportErrorCode, ImportSettings } from '../engine/import/importer.js';
import { CameraMode } from '../engine/viewer/camera.js'; import { ProjectionMode } from '../engine/viewer/camera.js';
import { RGBColor } from '../engine/model/color.js'; import { RGBColor } from '../engine/model/color.js';
import { Viewer } from '../engine/viewer/viewer.js'; import { Viewer } from '../engine/viewer/viewer.js';
import { AddDiv, AddDomElement, ShowDomElement, SetDomElementOuterHeight, CreateDomElement, GetDomElementOuterWidth, GetDomElementOuterHeight } from '../engine/viewer/domutils.js'; import { AddDiv, AddDomElement, ShowDomElement, SetDomElementOuterHeight, CreateDomElement, GetDomElementOuterWidth, GetDomElementOuterHeight } from '../engine/viewer/domutils.js';
@ -683,9 +683,9 @@ export class Website
AddSeparator (this.toolbar, ['only_full_width', 'only_on_model']); AddSeparator (this.toolbar, ['only_full_width', 'only_on_model']);
AddRadioButton (this.toolbar, ['camera_perspective', 'camera_orthographic'], ['Perspective camera', 'Orthographic camera'], 0, ['only_full_width', 'only_on_model'], (buttonIndex) => { AddRadioButton (this.toolbar, ['camera_perspective', 'camera_orthographic'], ['Perspective camera', 'Orthographic camera'], 0, ['only_full_width', 'only_on_model'], (buttonIndex) => {
if (buttonIndex === 0) { if (buttonIndex === 0) {
this.viewer.SetCameraMode (CameraMode.Perspective); this.viewer.SetCameraMode (ProjectionMode.Perspective);
} else if (buttonIndex === 1) { } else if (buttonIndex === 1) {
this.viewer.SetCameraMode (CameraMode.Orthographic); this.viewer.SetCameraMode (ProjectionMode.Orthographic);
} }
this.sidebar.UpdateControlsVisibility (); this.sidebar.UpdateControlsVisibility ();
}); });

View File

@ -45,12 +45,12 @@ describe ('Parameter List', function () {
assert.strictEqual (urlParams, 'edgesettings=on,1,2,3,15'); assert.strictEqual (urlParams, 'edgesettings=on,1,2,3,15');
} }
{ {
let urlParams = OV.CreateUrlBuilder ().AddCameraMode (OV.CameraMode.Perspective).GetParameterList (); let urlParams = OV.CreateUrlBuilder ().AddCameraMode (OV.ProjectionMode.Perspective).GetParameterList ();
assert.strictEqual (urlParams, 'cameramode=perspective'); assert.strictEqual (urlParams, 'projectionmode=perspective');
} }
{ {
let urlParams = OV.CreateUrlBuilder ().AddCameraMode (OV.CameraMode.Orthographic).GetParameterList (); let urlParams = OV.CreateUrlBuilder ().AddCameraMode (OV.ProjectionMode.Orthographic).GetParameterList ();
assert.strictEqual (urlParams, 'cameramode=orthographic'); assert.strictEqual (urlParams, 'projectionmode=orthographic');
} }
}); });
@ -123,12 +123,12 @@ describe ('Parameter List', function () {
)); ));
} }
{ {
let parser = OV.CreateUrlParser ('cameramode=perspective'); let parser = OV.CreateUrlParser ('projectionmode=perspective');
assert.deepStrictEqual (parser.GetCameraMode (), OV.CameraMode.Perspective); assert.deepStrictEqual (parser.GetCameraMode (), OV.ProjectionMode.Perspective);
} }
{ {
let parser = OV.CreateUrlParser ('cameramode=orthographic'); let parser = OV.CreateUrlParser ('projectionmode=orthographic');
assert.deepStrictEqual (parser.GetCameraMode (), OV.CameraMode.Orthographic); assert.deepStrictEqual (parser.GetCameraMode (), OV.ProjectionMode.Orthographic);
} }
}); });
}); });