Skip to content

Commit

Permalink
simplify handling of ErrorStatistics values (#427)
Browse files Browse the repository at this point in the history
* add contact details

* update .gitignore

* not sure what to do with CMakeSettings.json

* Create CMakeSettings.json

* new/updated "docs" directory

* update externals/nitro with latest from nitro repo

* use in32_t, etc. instead of nitf::Int32_t

* Revert "Merge branch 'feature/update_nitro' into develop/jdsmith"

This reverts commit 52001ee, reversing
changes made to aac9d2c.

* Revert "Merge branch 'feature/use_standard_C_types' into develop/jdsmith"

This reverts commit aac9d2c, reversing
changes made to 89b7807.

* use in32_t, etc. instead of nitf::Int32_t

* update externals/nitro with latest from nitro repo

* Revert "update externals/nitro with latest from nitro repo"

This reverts commit 7eb2813.

* update nitro/nrt

* update "nitro"

* nitf::Int8 -> int8_t

* updates from coda-oss and nitro

* update externals/nitro with latest from "main"

* update externals/coda-oss with latest from "main"

* don't want "docs" directory in externals/nitro

* fix bad merge

* ignore CMake-generated files

* std::auto_ptr -> std::unique_ptr

* need std::auto_ptr<> overloads for pre-generated Python wrapper code

* provide std::auto_ptr "overloads" so that existing Python wrapper code continues to work w/o changes

* impelement std::auto_ptr "overrides"

* latest from nitro:main

* update externals/nitro

* update coda-oss

* Create codeql-analysis.yml

* update coda-oss with latest from "main"

* update nitro with latest from "main"

* Revert "Create codeql-analysis.yml"

This reverts commit b261bbd.

* fix nitf::Field to get rid of compiler errors

* build externals/coda-oss by itself

* build with Visual Studio 2019 (#358)

* Revert "Create codeql-analysis.yml"

This reverts commit 4388277.

* build nitro projects in SIX solution

* build "six" as a Visual Studio project

* build "scene" with Visual Studio

* build cphd with Visual Studio

* build cphd03 with Visual Studio

* build six.sicd with Visual Studio

* build six.sidd with Visual Studio

* buid six.convert with Visual Studio

* add a GTest project

* trying to get a unittest working

* build XML_DATA_CONTENT

* get a NITF unit-test working :-)

* run all "six" unittests

* fix dummy DEFAULT_SCHEMA_PATH

* allow unit-tests to run in Visual Studio

* run SIDD unit-tests from Visual Studio

* set SIX_SCHEMA_PATH so unittest works

* run SICD unittests in Visual Studio

* build and run six.sicd unittests in Visual Studio

* set NITF_PLUGIN_PATH for sicd_test_area_plane

* build cphd03 unittests in Visual Studio

* run remaining cphd03 unittests

* fix build error introduced with VS2019 changes

* build cphd unittests in Visual Studio

* build & run remaining cphd unittests in Visual Studio

* use c++11 (#359)

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* get rid of hard-coded paths with <filesystem> (#360)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* build crop_sicd in Visual Studio (#361)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* build crop_sicd

* update coda-oss with latest from "main"

* update coda-oss with latest from "main" (#362)

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from coda-oss "main" (#364)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* update coda-oss (#365)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* latest from coda-oss

* another update to coda-oss (#366)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* latest from coda-oss

* latest from coda-oss

* Develop/update externals (#367)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* latest from coda-oss

* latest from coda-oss

* latest from coda-oss

* latest from coda-oss (#368)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* latest from coda-oss

* latest from coda-oss

* latest from coda-oss

* latest from "main" on coda-oss

* latest from coda-oss (#369)

* update coda-oss with latest from "main"

* coda-oss updates to make TextEncoding part of the OutputStream

* updates from coda-oss to make TextEncoding part of the OutputStream

* fix StringStream() .ctor()

* one more coda-oss update

* latest from "main" on coda-oss: xml.lite updates for UTF-8

* restore changes lost in merge

* latest from coda-oss

* latest from coda-oss

* latest from coda-oss

* latest from "main" on coda-oss

* use Filesystem.h from coda-oss instead of <filesystem>

* use sys::Filesystem

* update "nitro" and "coda-oss" (#370)

* update "nitro" and "coda-oss"

* Delete CMakeSettings.json

* changeFileHeader() doesn't (yet) work in "externals"

* preserve utf8 in XML text (#363)

* pass io::Encoding::Utf8 to print() and prettyPrint() to preserve UTF-8 in output

* store the value of xml::lite::MinidomParser::preserveCharacterData() so we can figure out the encoding

* Don't want to set a dummy schema path to a directory that exists

* add a unit-test for UTF-8 characters in "Classification"

* fix isUnclassified() so it works for "NON CLASSIFIÉ / UNCLASSIFIED"

* Revert "Merge branch 'main' into bugfix/preserve_UTF8_in_classified_field"

This reverts commit 12534c9, reversing
changes made to 02ce755.

* account for coda-oss changes where TextEncoding is part of the OutputStream

* get the right verson of Element.h

* use new xml::lite to read/write XML in UTF-8

* be sure we can read-in and process UTF-8 from a NITF

* assume UTF-8 on *ix and Windows-1252 on Windows

* reduce "gratuatous" diffs for simpler merge request

* one more unneeded diff

* French -> Canada

* latest from coda-oss

* trying to get the test_valid_six unittest working on Linux

* use .tar, not .tar.gz

* add another unit-test (#371)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* remove some compiler warnings (#372)

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update externals (#373)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use c++11 features (#374)

* update "nitro"

* update coda-oss and fix compiler errors

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* latest "nitro" (#375)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss" (#376)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more use of C++11 (#377)

* update "nitro"

* update coda-oss and fix compiler errors

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* fix build errors from recent changes (#378)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* update "nitro"

* update coda-oss and fix compiler errors

* use "externals" from top-level "install"

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* build with simplified "externals" scheme

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* NULL -> nullptr (#379)

* update "nitro"

* update coda-oss and fix compiler errors

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* use filesystem::path and std::endian

* less use of sys::

* NULL -> nullptr

* latest from coda-oss (#381)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from develop/jdsmith (#382)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* update "nitro"

* update coda-oss and fix compiler errors

* use "externals" from top-level "install"

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* build with simplified "externals" scheme

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* more filesystem from coda-oss

* less use of sys::

* NULL -> nullptr

* use .data() rather than &d[0]

* mem::BufferView -> std::span

* const std::span<>& doesn't make much sense

* need make_span() overload for pointer+size

* latest from "nitro" (#383)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from "nitro"

* latest from develop/jdsmith (#385)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* update "nitro"

* update coda-oss and fix compiler errors

* use "externals" from top-level "install"

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* build with simplified "externals" scheme

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* more filesystem from coda-oss

* less use of sys::

* NULL -> nullptr

* use .data() rather than &d[0]

* mem::BufferView -> std::span

* const std::span<>& doesn't make much sense

* need make_span() overload for pointer+size

* latest from "nitro"

* std::endian

* coda-oss now gives us std::endian

* sys::Filesystem -> std::filesystem

* don't need to explicitly call fs::path::string() in most cases

* sys::Filesystem -> std::filesystem

* fix build errors when using C++17

* latest from "nitro" (#387)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from "nitro"

* std::endian

* latest from "nitro"

* latest changes from develop/jdsmith (#386)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* update "nitro"

* update coda-oss and fix compiler errors

* use "externals" from top-level "install"

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* build with simplified "externals" scheme

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* more filesystem from coda-oss

* less use of sys::

* NULL -> nullptr

* use .data() rather than &d[0]

* mem::BufferView -> std::span

* const std::span<>& doesn't make much sense

* need make_span() overload for pointer+size

* latest from "nitro"

* std::endian

* coda-oss now gives us std::endian

* sys::Filesystem -> std::filesystem

* don't need to explicitly call fs::path::string() in most cases

* sys::Filesystem -> std::filesystem

* fix build errors when using C++17

* simplify access to some ImageSubheader values

* newReadControl() returns a std::unique_ptr<> rather than a raw pointer

* a singleton is much easier in C++11

* don't need to do manual locking in C++11

* use a template and some macros to dramatically simplify Enums

* adjust macros for GCC, provide operators for SWIG

* got the map entries wrong

* make getIndices() a bit more robust

* store a std::unique_ptr<> instead of a raw poniter

* throw exceptions in getIndices() rather than assuming

* use Enum<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* don't explicilty check for "SIDD" as that's already part of getDataType()

* use std::string instead of char[]

* reduce use of "delete[]"

* less use of "SICD" and "SIDD", use six::DataType instead

* simplify Region buffer management

* reduce some explicit use of std::shared_ptr<> with std::make_shared and/or auto

* more reduction in explicit use of std::shared_ptr

* latest from "nitro"

* simplify use of six::Region

* reduce use of explicit .toString()

* further reduction in explicit use of toString()

* template specialiaton can't be inline with G++

* simplify cphd enum creation

* reduce use of toString() with setAttribute()

* update externals (#388)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from "nitro"

* std::endian

* latest from "nitro"

* latest from "nitro" and "coda-oss"

* reduce use of toString() (#389)

* put common #includes for PCH in a single file

* build check_valid_six

* use EXIT_* rather than 0/1

* getting rid of std::auto_ptr<> because it's gone in C++17

* build all projects with C++17

* use <filesystem> to remove hard-coded paths

* in Visual Studio, run check_valid_six with a pre-defined path

* tweak plugin dir

* can't have "check_valid_six" as a directory for *ix build

* build crop_sicd

* turn on /Wall, fix some warnings

* C++17 generates more warnings that I don't want to fix right now

* removed some compiler warnings from third-party code

* comment-out use of C++17's <filesystem>

* tweak project settings for consistency

* unit-test for createFakeComplexData()

* turn on compiler warnings

* crank-up warning level

* enable "Warnings as errors"

* turn on all warnings (many #pragma'd away)

* get rid of more warnings

* adjust more #pragma's

* update "nitro"

* update coda-oss and fix compiler errors

* update "nitro"

* update coda-oss and fix compiler errors

* use "externals" from top-level "install"

* use int64_t, etc. instead of sys::Int64_T

* mem::SharedPtr -> std::shared_ptr

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* use std::unique_ptr<[]> instead of mem::ScopedArray

* use int32_t et. al. instead of sys::Int32_T

* use std::byte (not quite working yet, but need to move code to a faster machine)

* build with std::byte

* build with simplified "externals" scheme

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* use std::thread::hardware_concurrency() instead of sys::OS().getNumCPUs()

* sys::Off_T -> ptrdiff_t

* fix compiler errors from previous merge; mostly #include <thread>

* Revert "sys::Off_T -> ptrdiff_t"

This reverts commit aa22a37.

* sys::Off_T -> int64_t; sys::SSize_T -> ptrdiff_t

* latest from "coda-oss"

* use filesystem::path and std::endian

* more filesystem from coda-oss

* less use of sys::

* NULL -> nullptr

* use .data() rather than &d[0]

* mem::BufferView -> std::span

* const std::span<>& doesn't make much sense

* need make_span() overload for pointer+size

* latest from "nitro"

* std::endian

* coda-oss now gives us std::endian

* sys::Filesystem -> std::filesystem

* don't need to explicitly call fs::path::string() in most cases

* sys::Filesystem -> std::filesystem

* fix build errors when using C++17

* simplify access to some ImageSubheader values

* newReadControl() returns a std::unique_ptr<> rather than a raw pointer

* a singleton is much easier in C++11

* don't need to do manual locking in C++11

* use a template and some macros to dramatically simplify Enums

* adjust macros for GCC, provide operators for SWIG

* got the map entries wrong

* make getIndices() a bit more robust

* store a std::unique_ptr<> instead of a raw poniter

* throw exceptions in getIndices() rather than assuming

* use Enum<T>.toString() where possible rather than duplicating code

* remove duplicate code converting from a string to Enum<T>

* don't explicilty check for "SIDD" as that's already part of getDataType()

* use std::string instead of char[]

* reduce use of "delete[]"

* less use of "SICD" and "SIDD", use six::DataType instead

* simplify Region buffer management

* reduce some explicit use of std::shared_ptr<> with std::make_shared and/or auto

* more reduction in explicit use of std::shared_ptr

* latest from "nitro"

* simplify use of six::Region

* reduce use of explicit .toString()

* further reduction in explicit use of toString()

* template specialiaton can't be inline with G++

* simplify cphd enum creation

* reduce use of toString() with setAttribute()

* latest from "nitro" and "coda-oss"

* don't need catch(excep::Exception) ex.toString() as std::exception::what() now does the same thing

* really only have two calls to setAttribute(): std::string and size_t

* use macros to generate SIDD Enums

* add operator<< for Enum<T> to avoid some explicit .toString() calls

* add operator==(std::string) overload to redue need for .toString()

* add operator<<() to redue need for .toString()

* don't implmeent a bunch of six::toString() routines; they sholdn't be called anymore

* further reduction in use of toString()

* eliminate six::toString() template; just provide a few overloads instead

* createSixString() which calls six::toString(t) instead of t.toString()

* createSixString() overload with URI parameter

* allow different strings (e.g., "1" and "+1") to map to the same value

* put "Enum" support code in a separate file

* there is now just one NOT_SET_VALUE

* latest from coda-oss (#390)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from "nitro"

* std::endian

* latest from "nitro"

* latest from "nitro" and "coda-oss"

* latest from coda-oss

* lost toString<nullptr>()

* latest from coda-oss/main

* want "std" augmented in this repo

* latest from coda-oss and nitro (#391)

* update "nitro"

* update coda-oss and fix compiler errors

* update coda-oss and nitro with less use of sys::

* unit-test paths are wrong for "externals"

* update "nitro" to get SegmentMemorySource overloads

* latest from "nitro"

* match nitro -> nitf change

* make_span()

* latest from "coda-oss"

* more filesystem from coda-oss

* latest from "nitro"

* std::endian

* latest from "nitro"

* latest from "nitro" and "coda-oss"

* latest from coda-oss

* lost toString<nullptr>()

* latest from coda-oss/main

* want "std" augmented in this repo

* partial update from coda-oss/main

* latest from coda-oss/main

* update coda-oss with latest from https://github.com/mdaus/coda-oss

* update externals/nitro/docs

* latest from "nitro"

* Revert "latest from "nitro""

This reverts commit 0b99300.

* latest from nitro/master

* ignore build/ directory

* Revert "latest from nitro/master"

This reverts commit e89da71.

* update externals/nitro/docs

* update "c", "java", "mex", and "python" directories -- but not "c++"

* update other nitro top-level files ... everything except modules/c++

* VCXPROJ files from nitro

* several changes from nitro/c++ ... hoping this builds.

* fix build error on Linux

* more changes from nitro/modules/c++

* fix IOStreamWriter ctor

* more changes from nitro/modules/c++

* paths are wrong when in "externals"

* remove externals/nitro/docs

* slam in "main"

* latest from coda-oss/main

* adjust coda-oss for our usage

* latest from nitro/main

* std::span removed from "nitro"

* need to redo C++17

* fix missing #include file

* remove "nitro" files not needed in externals/nitro

* paths are wrong in "externals"

* Revert "remove "nitro" files not needed in externals/nitro"

This reverts commit da30b96.

* Revert "Revert "remove "nitro" files not needed in externals/nitro""

This reverts commit e69391b.

* slam in externals as merging creates too many conflicts

* merge brought back a deleted #include

* add back "java" and "mex"

* lates from coda-oss/main

* latest from "nitro"

* paths are wrong in "externals"

* need to redo C++17 support

* std::span -> gsl::span

* Revert "std::span -> gsl::span"

This reverts commit c10f233.

* latest from coda-oss and nitro

* these are the correct files from "master"

* gsl::span -> std::span

* get #includes right for PCH

* didn't want this change

* trigger build on GitHub

* #include <nitf/coda-oss.hpp> instead of sys/Conf.h to get stuff added to "std"

* remove files that shouldn't have been committed

* #define CODA_OSS_AUGMENT_std_namespace before #include <sys/Conf.h>

* #include <scene/sys_Conf.h> rather than <nitf/coda-oss.hpp>

* do a better job of being sure we have additional stuff in "std" from coda-oss

* no auto_ptr in C++17

* no std::auto_ptr in C++17

* mem::auto_ptr instead of std::auto_ptr for C++17

* fix a few more errors with building with C++17

* std::auto_ptr -> mem::auto_ptr for C++17

* old compilers don't like certain kinds of braced-initialization

* turn off some CA diagnostics from other code

* assignment operator for sys::Optional

* make it easier to switch to std::optional<>

* consolidate !has_value() check

* use std;:optional to be sure values are initialized

* common #include file for "nitro"

* code-analysis complained about using a dangling pointer

* changes to support switching to std::optional<>

* remove more uninitialized variable code diagnostics

* prepare for more use of std::optional<>

* need toString() for sys::Optional<>

* use std::optional<> for things marked optional

* remove more code-analysis diagnostics about uninitialized member data

* remove more Variable '...' is uninitialized. Always initialize a member variable (type.6).

* fixed code-analysis diagnostics from cphd

* createOptionalDouble() that checks has_value() first

* revert std::optional<> changes from "scene" (for now, at least)

* revert more std::optional<> changes (for now) ... leaving in place infrastructure to make changing easier

* remove remaining std::optional (for now)

* add hasXXX() methods to wrap calls to isUndefined()

* added set*() methods for DecorrType

* initialize member data in-line to match ctors()

* use six::Init::isDefined() for creeateOptionalDouble()

* use set*() methods instead of member data

* set defaults per Bill's guidance

* avoid direct access to compositeSCIP and components

* use get*() accessors instead of member data

* Revert "set defaults per Bill's guidance"

This reverts commit 5c13afa.

* got through getters and setters for RadarSensor values

* restore member data names to not break existing code

* utility class to avoid code duplication for "optional" member data

* wrap access to other "optional" DecorrType

* wrap access to TropoError values

* wrap access to IonoError values

* set defaults per Bill's guidance (again)

* make six::InitRef<T> look more like std::optional

* values passed to addDecorrType() might not be initialized

* get one step closer to making member-data std::optional

* reduce duplicated code for getting/setting optional doubles to/from XML

* now that all the places accessing ErrorStatistics have been identified, the code can be simplified

* revert changes to minimize diffs from latest release/ branch

* simplify parseOptionalDouble() calls

* make it easier to switch to std::optional for ErrorStatistics

* createDecorrType() utility to reduce duplicated code

* more support for std::optional

* more support for std::optional<>

Co-authored-by: Dan Smith <[email protected]>
  • Loading branch information
J. Daniel Smith and Dan Smith authored Feb 23, 2021
1 parent ce1a2b8 commit 8c469b5
Show file tree
Hide file tree
Showing 15 changed files with 460 additions and 764 deletions.
4 changes: 4 additions & 0 deletions six/modules/c++/cphd/include/cphd/CPHDXMLParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ class CPHDXMLParser : public six::XMLParser
XMLElem createErrorParamPlatform(const std::string& name,
const ErrorParameters::Bistatic::Platform p,
XMLElem parent) const;
XMLElem createDecorrType(const std::string& name, const six::DecorrType& dt,
XMLElem parent) const;
XMLElem createDecorrType(const std::string& name, const std::optional<six::DecorrType>& dt,
XMLElem parent) const;

//! Parse helper functions
void parseAreaType(const XMLElem areaXML, AreaType& area) const;
Expand Down
242 changes: 59 additions & 183 deletions six/modules/c++/cphd/source/CPHDXMLParser.cpp

Large diffs are not rendered by default.

80 changes: 45 additions & 35 deletions six/modules/c++/cphd/source/ErrorParameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,45 @@ ErrorParameters::Bistatic::RadarSensor::RadarSensor() :
{
}

static inline std::ostream& operator<< (std::ostream& os, const std::optional<double>& value)
static std::ostream& unchecked(std::ostream& os, const six::DecorrType& decorr_)
{
os << value.value();
const auto decorr = six::value(decorr_);
os << " CorrCoefZero : " << decorr.corrCoefZero << "\n"
<< " DecorrRate : " << decorr.decorrRate << "\n";
return os;
}
std::ostream& unchecked(std::ostream& os, const std::optional<six::DecorrType>& decorr)
{
return unchecked(os, decorr.value());
}

static std::ostream& checked(std::ostream& os, const std::string& s, const six::DecorrType& decorr)
{
if (six::Init::isDefined(decorr))
{
os << s;
return unchecked(os, decorr);
}
return os;
}
std::ostream& checked(std::ostream& os, const std::string& s, const std::optional<six::DecorrType>& decorr)
{
return decorr.has_value() ? checked(os, s, *decorr) : os;
}


static std::ostream& checked(std::ostream& os, const std::string& s, const double& v)
{
if (six::Init::isDefined(v))
{
os << s << v << "\n";
}
return os;
}
std::ostream& checked(std::ostream& os, const std::string& s, const std::optional<double>& v)
{
return v.has_value() ? checked(os, s, *v) : os;
}

std::ostream& operator<< (std::ostream& os, const six::PosVelError& p)
{
Expand Down Expand Up @@ -74,10 +108,8 @@ std::ostream& operator<< (std::ostream& os, const six::PosVelError& p)
<< " v1v3 : " << p.corrCoefs->v1v3 << "\n"
<< " v2v3 : " << p.corrCoefs->v2v3 << "\n";
}
os << " Decorr:: \n"
<< " CorrCoefZero : " << p.PositionDecorr().get().corrCoefZero << "\n"
<< " DecorrRate : " << p.PositionDecorr().get().decorrRate << "\n";
return os;
os << " Decorr:: \n";
return unchecked(os, p.positionDecorr);
}

std::ostream& operator<< (std::ostream& os, const ErrorParameters& e)
Expand Down Expand Up @@ -106,39 +138,17 @@ std::ostream& operator<< (std::ostream& os, const ErrorParameters& e)
if (e.monostatic->tropoError.get())
{
os << " TropoError:: \n";
if (e.monostatic->tropoError->TropoRangeVertical().has())
{
os << " TropoRangeVertical : " << e.monostatic->tropoError->TropoRangeVertical().get() << "\n";
}
if (e.monostatic->tropoError->TropoRangeSlant().has())
{
os << " TropoRangeSlant : " << e.monostatic->tropoError->TropoRangeSlant().get() << "\n";
}
if (e.monostatic->tropoError->TropoRangeDecorr().has())
{
os << " TropoRangeDecorr:: \n"
<< " CorrCoefZero : " << e.monostatic->tropoError->TropoRangeDecorr().get().corrCoefZero << "\n"
<< " DecorrRate : " << e.monostatic->tropoError->TropoRangeDecorr().get().decorrRate << "\n";
}
checked(os, " TropoRangeVertical : ", e.monostatic->tropoError->tropoRangeVertical);
checked(os, " TropoRangeSlant : ", e.monostatic->tropoError->tropoRangeSlant);
checked(os, " TropoRangeDecorr:: \n", e.monostatic->tropoError->tropoRangeDecorr);
}
if (e.monostatic->ionoError.get())
{
os << " IonoError:: \n";
if (e.monostatic->ionoError->IonoRangeVertical().has())
{
os << " IonoRangeVertical : " << e.monostatic->ionoError->IonoRangeVertical().get() << "\n";
}
if (e.monostatic->ionoError->IonoRangeRateVertical().has())
{
os << " IonoRangeRateVertical : " << e.monostatic->ionoError->IonoRangeRateVertical().get() << "\n";
}
os << " IonoRgRgRateCC : " << e.monostatic->ionoError->IonoRgRgRateCC().get() << "\n";
if (e.monostatic->ionoError->IonoRangeVertDecorr().has())
{
os << " IonoRangeDecorr:: \n"
<< " CorrCoefZero : " << e.monostatic->ionoError->IonoRangeVertDecorr().get().corrCoefZero << "\n"
<< " DecorrRate : " << e.monostatic->ionoError->IonoRangeVertDecorr().get().decorrRate << "\n";
}
checked(os, " IonoRangeVertical : ", e.monostatic->ionoError->ionoRangeVertical);
checked(os, " IonoRangeRateVertical : ", e.monostatic->ionoError->ionoRangeRateVertical);
os << " IonoRgRgRateCC : " << six::value(e.monostatic->ionoError->ionoRgRgRateCC) << "\n";
checked(os, " IonoRangeDecorr:: \n", e.monostatic->ionoError->ionoRangeVertDecorr);
}
for (size_t ii = 0; ii < e.monostatic->parameter.size(); ++ii)
{
Expand Down
18 changes: 9 additions & 9 deletions six/modules/c++/cphd/unittests/test_cphd_xml_optional.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1037,22 +1037,22 @@ TEST_CASE(testOptional)
TEST_ASSERT_EQ(errorParams.monostatic->posVelErr.p2, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->posVelErr.corrCoefs->p1p2, 0.8);
TEST_ASSERT_EQ(errorParams.monostatic->posVelErr.corrCoefs->v2v3, 0.8);
TEST_ASSERT_EQ(errorParams.monostatic->posVelErr.PositionDecorr().get().corrCoefZero, 0.5);
TEST_ASSERT_EQ(errorParams.monostatic->posVelErr.PositionDecorr().get().decorrRate, 1.0);
TEST_ASSERT_EQ(six::value(errorParams.monostatic->posVelErr.positionDecorr).corrCoefZero, 0.5);
TEST_ASSERT_EQ(six::value(errorParams.monostatic->posVelErr.positionDecorr).decorrRate, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->radarSensor.rangeBias, 0.5);
TEST_ASSERT_EQ(errorParams.monostatic->radarSensor.clockFreqSF, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->radarSensor.collectionStartTime, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->radarSensor.rangeBiasDecorr->corrCoefZero, 0.5);
TEST_ASSERT_EQ(errorParams.monostatic->radarSensor.rangeBiasDecorr->decorrRate, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->tropoError->TropoRangeVertical().get(), 5.0);
TEST_ASSERT_EQ(errorParams.monostatic->tropoError->TropoRangeSlant().get(), 5.0);
const auto& tropoRangeDecorr = errorParams.monostatic->tropoError->TropoRangeDecorr().get();
TEST_ASSERT_EQ(six::value(errorParams.monostatic->tropoError->tropoRangeVertical), 5.0);
TEST_ASSERT_EQ(six::value(errorParams.monostatic->tropoError->tropoRangeSlant), 5.0);
const auto& tropoRangeDecorr = value(errorParams.monostatic->tropoError->tropoRangeDecorr);
TEST_ASSERT_EQ(tropoRangeDecorr.corrCoefZero, 0.5);
TEST_ASSERT_EQ(tropoRangeDecorr.decorrRate, 1.0);
TEST_ASSERT_EQ(errorParams.monostatic->ionoError->IonoRangeVertical().get(), 5.0);
TEST_ASSERT_EQ(errorParams.monostatic->ionoError->IonoRangeRateVertical().get(), 5.0);
TEST_ASSERT_EQ(errorParams.monostatic->ionoError->IonoRgRgRateCC().get(), 0.5);
const auto& ionoRangeVertDecorr = errorParams.monostatic->ionoError->IonoRangeVertDecorr().get();
TEST_ASSERT_EQ(six::value(errorParams.monostatic->ionoError->ionoRangeVertical), 5.0);
TEST_ASSERT_EQ(six::value(errorParams.monostatic->ionoError->ionoRangeRateVertical), 5.0);
TEST_ASSERT_EQ(six::value(errorParams.monostatic->ionoError->ionoRgRgRateCC), 0.5);
const auto& ionoRangeVertDecorr = six::value(errorParams.monostatic->ionoError->ionoRangeVertDecorr);
TEST_ASSERT_EQ(ionoRangeVertDecorr.corrCoefZero, 0.5);
TEST_ASSERT_EQ(ionoRangeVertDecorr.decorrRate, 1.0);

Expand Down
100 changes: 49 additions & 51 deletions six/modules/c++/samples/test_create_sidd_from_mem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2228,57 +2228,55 @@ void initDownstreamReprocessing(six::sidd::DownstreamReprocessing& reprocess)

void initErrorStatistics(six::ErrorStatistics& err)
{
err.reset(new six::CompositeSCP());
err.getCompositeSCP()->xErr = 0.12;
err.getCompositeSCP()->yErr = 0.73;
err.getCompositeSCP()->xyErr = 9.84;

err.reset(new six::Components());
err.getComponents()->reset(new six::PosVelError());
err.getComponents()->getPosVelError()->frame = six::FrameType("ECF");
err.getComponents()->getPosVelError()->p1 = 1.1;
err.getComponents()->getPosVelError()->p2 = 1.1;
err.getComponents()->getPosVelError()->p3 = 1.1;
err.getComponents()->getPosVelError()->v1 = 1.1;
err.getComponents()->getPosVelError()->v2 = 1.1;
err.getComponents()->getPosVelError()->v3 = 1.1;

err.getComponents()->getPosVelError()->corrCoefs.reset(new six::CorrCoefs());
err.getComponents()->getPosVelError()->corrCoefs->p1p2 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p1p3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p1v1 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p1v2 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p1v3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p2p3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p2v1 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p2v2 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p2v3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p3v1 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p3v2 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->p3v3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->v1v2 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->v1v3 = 6.2;
err.getComponents()->getPosVelError()->corrCoefs->v2v3 = 6.2;

err.getComponents()->getPosVelError()->positionDecorr.corrCoefZero = 48.17;
err.getComponents()->getPosVelError()->positionDecorr.decorrRate = 113.965;

err.getComponents()->reset(new six::RadarSensor());
err.getComponents()->getRadarSensor()->RangeBias().set(43.5);
err.getComponents()->getRadarSensor()->ClockFreqSF().set(1111.1);
err.getComponents()->getRadarSensor()->TransmitFreqSF().set(85);
err.getComponents()->getRadarSensor()->RangeBiasDecorr().set(six::DecorrType(123, .03));

err.getComponents()->reset(new six::TropoError());
err.getComponents()->getTropoError()->TropoRangeVertical().set(.00289);
err.getComponents()->getTropoError()->TropoRangeSlant().set(777);
err.getComponents()->getTropoError()->TropoRangeDecorr().set(six::DecorrType(0, 98.7));

err.getComponents()->reset(new six::IonoError());
err.getComponents()->getIonoError()->IonoRangeVertical().set(1.2);
err.getComponents()->getIonoError()->IonoRangeRateVertical().set(77632);
err.getComponents()->getIonoError()->IonoRgRgRateCC().set(.072);
err.getComponents()->getIonoError()->IonoRangeVertDecorr().set(six::DecorrType(48.16, 113.964));
err.compositeSCP.reset(new six::CompositeSCP());
err.compositeSCP->xErr = 0.12;
err.compositeSCP->yErr = 0.73;
err.compositeSCP->xyErr = 9.84;

err.components.reset(new six::Components());
err.components->posVelError.reset(new six::PosVelError());
err.components->posVelError->frame = six::FrameType("ECF");
err.components->posVelError->p1 = 1.1;
err.components->posVelError->p2 = 1.1;
err.components->posVelError->p3 = 1.1;
err.components->posVelError->v1 = 1.1;
err.components->posVelError->v2 = 1.1;
err.components->posVelError->v3 = 1.1;

err.components->posVelError->corrCoefs.reset(new six::CorrCoefs());
err.components->posVelError->corrCoefs->p1p2 = 6.2;
err.components->posVelError->corrCoefs->p1p3 = 6.2;
err.components->posVelError->corrCoefs->p1v1 = 6.2;
err.components->posVelError->corrCoefs->p1v2 = 6.2;
err.components->posVelError->corrCoefs->p1v3 = 6.2;
err.components->posVelError->corrCoefs->p2p3 = 6.2;
err.components->posVelError->corrCoefs->p2v1 = 6.2;
err.components->posVelError->corrCoefs->p2v2 = 6.2;
err.components->posVelError->corrCoefs->p2v3 = 6.2;
err.components->posVelError->corrCoefs->p3v1 = 6.2;
err.components->posVelError->corrCoefs->p3v2 = 6.2;
err.components->posVelError->corrCoefs->p3v3 = 6.2;
err.components->posVelError->corrCoefs->v1v2 = 6.2;
err.components->posVelError->corrCoefs->v1v3 = 6.2;
err.components->posVelError->corrCoefs->v2v3 = 6.2;
err.components->posVelError->positionDecorr = six::DecorrType(48.17, 113.965);

err.components->radarSensor.reset(new six::RadarSensor());
err.components->radarSensor->rangeBias = 43.5;
err.components->radarSensor->clockFreqSF = 1111.1;
err.components->radarSensor->transmitFreqSF= 85;
err.components->radarSensor->rangeBiasDecorr = six::DecorrType(123, .03);

err.components->tropoError.reset(new six::TropoError());
err.components->tropoError->tropoRangeVertical = .00289;
err.components->tropoError->tropoRangeSlant = 777;
err.components->tropoError->tropoRangeDecorr = six::DecorrType(0, 98.7);

err.components->ionoError.reset(new six::IonoError());
err.components->ionoError->ionoRangeVertical = 1.2;
err.components->ionoError->ionoRangeRateVertical = 77632;
err.components->ionoError->ionoRgRgRateCC = .072;
err.components->ionoError->ionoRangeVertDecorr = six::DecorrType(48.16, 113.964);

six::Parameter param;
param.setName("ErrorStatisticsParameterName");
Expand Down
Loading

0 comments on commit 8c469b5

Please sign in to comment.