Add parameter handling utilities.

This commit is contained in:
Viktor Kovacs 2021-04-02 10:49:01 +02:00
parent 8e7bebaf5f
commit cafb7171f9
7 changed files with 26 additions and 26 deletions

View File

@ -1,6 +1,6 @@
OV.UrlParamConverter =
OV.ParameterConverter =
{
CameraToUrlParameter : function (camera)
CameraToString : function (camera)
{
if (camera === null) {
return null;
@ -14,7 +14,7 @@ OV.UrlParamConverter =
return cameraParameters;
},
UrlParameterToCamera : function (urlParam)
StringToCamera : function (urlParam)
{
if (urlParam === null || urlParam.length === 0) {
return null;
@ -31,7 +31,7 @@ OV.UrlParamConverter =
return camera;
},
ModelUrlsToUrlParameter : function (urls)
ModelUrlsToString : function (urls)
{
if (urls === null) {
return null;
@ -39,7 +39,7 @@ OV.UrlParamConverter =
return urls.join (',');
},
UrlParameterToModelUrls : function (urlParam)
StringToModelUrls : function (urlParam)
{
if (urlParam === null || urlParam.length === 0) {
return null;
@ -48,7 +48,7 @@ OV.UrlParamConverter =
}
};
OV.UrlParamBuilder = class
OV.ParameterListBuilder = class
{
constructor ()
{
@ -57,13 +57,13 @@ OV.UrlParamBuilder = class
AddModelUrls (urls)
{
this.AddUrlPart ('model', OV.UrlParamConverter.ModelUrlsToUrlParameter (urls));
this.AddUrlPart ('model', OV.ParameterConverter.ModelUrlsToString (urls));
return this;
}
AddCamera (camera)
{
this.AddUrlPart ('camera', OV.UrlParamConverter.CameraToUrlParameter (camera));
this.AddUrlPart ('camera', OV.ParameterConverter.CameraToString (camera));
return this;
}
@ -84,7 +84,7 @@ OV.UrlParamBuilder = class
}
};
OV.UrlParamParser = class
OV.ParameterListParser = class
{
constructor (urlParams)
{
@ -99,13 +99,13 @@ OV.UrlParamParser = class
}
let keywordParams = this.GetKeywordParams ('model');
return OV.UrlParamConverter.UrlParameterToModelUrls (keywordParams);
return OV.ParameterConverter.StringToModelUrls (keywordParams);
}
GetCamera ()
{
let keywordParams = this.GetKeywordParams ('camera');
return OV.UrlParamConverter.UrlParameterToCamera (keywordParams);
return OV.ParameterConverter.StringToCamera (keywordParams);
}
GetKeywordParams (keyword)
@ -127,7 +127,7 @@ OV.UrlParamParser = class
OV.CreateUrlParameters = function (urls, camera)
{
let builder = new OV.UrlParamBuilder ();
let builder = new OV.ParameterListBuilder ();
builder.AddModelUrls (urls);
builder.AddCamera (camera);
return builder.GetUrlParams ();

View File

@ -5,7 +5,7 @@ OV.Init3DViewerElements = function ()
let camera = null;
let cameraParams = element.getAttribute ('camera');
if (cameraParams) {
camera = OV.UrlParamConverter.UrlParameterToCamera (cameraParams);
camera = OV.ParameterConverter.StringToCamera (cameraParams);
}
if (camera !== null) {
viewer.SetCamera (camera);
@ -67,7 +67,7 @@ OV.Init3DViewerElements = function ()
return;
}
let modelUrls = OV.UrlParamConverter.UrlParameterToModelUrls (modelParams);
let modelUrls = OV.ParameterConverter.StringToModelUrls (modelParams);
if (modelUrls === null || modelUrls.length === 0) {
return;
}

View File

@ -8,9 +8,9 @@ describe ('Url Utils', function () {
new OV.Coord3D (0.0, 0.0, 0.0),
new OV.Coord3D (0.0, 0.0, 1.0)
);
let urlParams1 = new OV.UrlParamBuilder ().AddModelUrls (modelUrls).GetUrlParams ();
let urlParams2 = new OV.UrlParamBuilder ().AddCamera (camera).GetUrlParams ();
let urlParams3 = new OV.UrlParamBuilder ().AddModelUrls (modelUrls).AddCamera (camera).GetUrlParams ();
let urlParams1 = new OV.ParameterListBuilder ().AddModelUrls (modelUrls).GetUrlParams ();
let urlParams2 = new OV.ParameterListBuilder ().AddCamera (camera).GetUrlParams ();
let urlParams3 = new OV.ParameterListBuilder ().AddModelUrls (modelUrls).AddCamera (camera).GetUrlParams ();
assert.strictEqual (urlParams1, 'model=a.txt,b.txt');
assert.strictEqual (urlParams2, 'camera=1.0000,1.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000');
assert.strictEqual (urlParams3, 'model=a.txt,b.txt$camera=1.0000,1.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000');
@ -27,16 +27,16 @@ describe ('Url Utils', function () {
let urlParams1 = 'model=a.txt,b.txt';
let urlParams2 = 'camera=1.0000,1.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000';
let urlParams3 = 'model=a.txt,b.txt$camera=1.0000,1.0000,1.0000,0.0000,0.0000,0.0000,0.0000,0.0000,1.0000';
let parserLegacy = new OV.UrlParamParser (urlParamsLegacy);
let parserLegacy = new OV.ParameterListParser (urlParamsLegacy);
assert.deepStrictEqual (parserLegacy.GetModelUrls (), modelUrls);
assert.deepStrictEqual (parserLegacy.GetCamera (), null);
let parser1 = new OV.UrlParamParser (urlParams1);
let parser1 = new OV.ParameterListParser (urlParams1);
assert.deepStrictEqual (parser1.GetModelUrls (), modelUrls);
assert.deepStrictEqual (parser1.GetCamera (), null);
let parser2 = new OV.UrlParamParser (urlParams2);
let parser2 = new OV.ParameterListParser (urlParams2);
assert.deepStrictEqual (parser2.GetModelUrls (), null);
assert.deepStrictEqual (parser2.GetCamera (), camera);
let parser3 = new OV.UrlParamParser (urlParams3);
let parser3 = new OV.ParameterListParser (urlParams3);
assert.deepStrictEqual (parser3.GetModelUrls (), modelUrls);
assert.deepStrictEqual (parser3.GetCamera (), camera);
});

View File

@ -42,7 +42,7 @@
"source/export/exporter.js",
"source/external/three.converter.js",
"source/external/three.model.loader.js",
"source/parameters/paramutils.js",
"source/parameters/parameterlist.js",
"source/viewer/domutils.js",
"source/viewer/navigation.js",
"source/viewer/viewer.js",

View File

@ -55,7 +55,7 @@
<script type="text/javascript" src="../source/export/exporter.js"></script>
<script type="text/javascript" src="../source/external/three.converter.js"></script>
<script type="text/javascript" src="../source/external/three.model.loader.js"></script>
<script type="text/javascript" src="../source/parameters/paramutils.js"></script>
<script type="text/javascript" src="../source/parameters/parameterlist.js"></script>
<script type="text/javascript" src="../source/viewer/domutils.js"></script>
<script type="text/javascript" src="../source/viewer/navigation.js"></script>
<script type="text/javascript" src="../source/viewer/viewer.js"></script>

View File

@ -55,7 +55,7 @@
<script type="text/javascript" src="../source/export/exporter.js"></script>
<script type="text/javascript" src="../source/external/three.converter.js"></script>
<script type="text/javascript" src="../source/external/three.model.loader.js"></script>
<script type="text/javascript" src="../source/parameters/paramutils.js"></script>
<script type="text/javascript" src="../source/parameters/parameterlist.js"></script>
<script type="text/javascript" src="../source/viewer/domutils.js"></script>
<script type="text/javascript" src="../source/viewer/navigation.js"></script>
<script type="text/javascript" src="../source/viewer/viewer.js"></script>

View File

@ -30,13 +30,13 @@ OV.HashHandler = class
GetCameraFromHash ()
{
let parser = new OV.UrlParamParser (this.GetHash ());
let parser = new OV.ParameterListParser (this.GetHash ());
return parser.GetCamera ();
}
GetModelFilesFromHash ()
{
let parser = new OV.UrlParamParser (this.GetHash ());
let parser = new OV.ParameterListParser (this.GetHash ());
return parser.GetModelUrls ();
}