diff --git a/demos/camera_Dinesh_LAAS_params.yaml b/demos/camera_Dinesh_LAAS_params.yaml deleted file mode 100644 index 739505d12e8a2dd224b99220ee024ddc8efd9508..0000000000000000000000000000000000000000 --- a/demos/camera_Dinesh_LAAS_params.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: mono -camera_matrix: - rows: 3 - cols: 3 - data: [809.135074, 0.000000, 335.684471, 0.000000, 809.410030, 257.352121, 0.000000, 0.000000, 1.000000] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.416913, 0.264210, -0.000221, -0.000326, 0.000000] -rectification_matrix: - rows: 3 - cols: 3 - data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] -projection_matrix: - rows: 3 - cols: 4 - data: [753.818405, 0.000000, 337.203047, 0.000000, 0.000000, 777.118492, 258.102663, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/demos/camera_Dinesh_LAAS_params_notangentrect.yaml b/demos/camera_Dinesh_LAAS_params_notangentrect.yaml deleted file mode 100644 index dd2f6433f2b60c21b68ebf70b595af981550923c..0000000000000000000000000000000000000000 --- a/demos/camera_Dinesh_LAAS_params_notangentrect.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: mono -camera_matrix: - rows: 3 - cols: 3 - data: [809.135074, 0.000000, 335.684471, 0.000000, 809.410030, 257.352121, 0.000000, 0.000000, 1.000000] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.416913, 0.264210, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] -projection_matrix: - rows: 3 - cols: 4 - data: [753.818405, 0.000000, 337.203047, 0.000000, 0.000000, 777.118492, 258.102663, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/demos/camera_logitech_c300_640_480.yaml b/demos/camera_logitech_c300_640_480.yaml deleted file mode 100644 index 5f8a1899b71df3721e6f9722d39bd8e09e34509a..0000000000000000000000000000000000000000 --- a/demos/camera_logitech_c300_640_480.yaml +++ /dev/null @@ -1,22 +0,0 @@ -image_width: 640 -image_height: 480 -#camera_name: narrow_stereo -camera_name: camera -camera_matrix: - rows: 3 - cols: 3 - data: [711.687376, 0.000000, 323.306816, 0.000000, 710.933260, 232.005822, 0.000000, 0.000000, 1.000000] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [0.067204, -0.141639, 0, 0, 0] -# data: [0.067204, -0.141639, 0.004462, -0.000636, 0.000000] -rectification_matrix: - rows: 3 - cols: 3 - data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] -projection_matrix: - rows: 3 - cols: 4 - data: [718.941772, 0.000000, 323.016804, 0.000000, 0.000000, 717.174622, 233.475721, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/demos/camera_params.yaml b/demos/camera_params.yaml deleted file mode 100644 index de0c31d0b05a024724840598a490527a62002ca2..0000000000000000000000000000000000000000 --- a/demos/camera_params.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: narrow_stereo -camera_matrix: - rows: 3 - cols: 3 - data: [872.791604, 0, 407.599166, 0, 883.154343, 270.343971, 0, 0, 1] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.284384, -0.030014, -0.01554, -0.003363, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [826.19989, 0, 413.746093, 0, 0, 863.790649, 267.937027, 0, 0, 0, 1, 0] \ No newline at end of file diff --git a/demos/camera_params_1280x960_ideal.yaml b/demos/camera_params_1280x960_ideal.yaml deleted file mode 100644 index 814d3cb3f74d51925e62389366ef0a24d429ee44..0000000000000000000000000000000000000000 --- a/demos/camera_params_1280x960_ideal.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 1280 -image_height: 960 -camera_name: canonical -camera_matrix: - rows: 3 - cols: 3 - data: [640, 0, 640, 0, 640, 480, 0, 0, 1] -distortion_model: none -distortion_coefficients: - rows: 1 - cols: 5 - data: [0, 0, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [640, 0, 640, 0, 0, 640, 480, 0, 0, 0, 1, 0] \ No newline at end of file diff --git a/demos/camera_params_canonical.yaml b/demos/camera_params_canonical.yaml deleted file mode 100644 index 2508a0bec574125ae9dea63e558528b7211079d1..0000000000000000000000000000000000000000 --- a/demos/camera_params_canonical.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 2 -image_height: 2 -camera_name: canonical -camera_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -distortion_model: none -distortion_coefficients: - rows: 1 - cols: 5 - data: [0, 0, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0] \ No newline at end of file diff --git a/demos/camera_params_ueye.yaml b/demos/camera_params_ueye.yaml deleted file mode 100644 index 8703fc4575d1422190e318fb7e0f8a816d37e5cb..0000000000000000000000000000000000000000 --- a/demos/camera_params_ueye.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: camera -camera_matrix: - rows: 3 - cols: 3 - data: [392.796383, 0, 350.175772, 0, 392.779002, 255.209917, 0, 0, 1] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.3, 0.096, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [313.834106, 0, 361.199457, 0, 0, 349.145264, 258.654166, 0, 0, 0, 1, 0] diff --git a/demos/camera_params_ueye_radial_dist.yaml b/demos/camera_params_ueye_radial_dist.yaml deleted file mode 100644 index 52d1fbb4dd01de04e6c759f0850015509235f4b4..0000000000000000000000000000000000000000 --- a/demos/camera_params_ueye_radial_dist.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: narrow_stereo -camera_matrix: - rows: 3 - cols: 3 - data: [402.860630, 0.000000, 350.628016, 0.000000, 403.220300, 269.746108, 0.000000, 0.000000, 1.000000] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.276945, 0.095681, 0.000000, 0.000000, -0.013371] -rectification_matrix: - rows: 3 - cols: 3 - data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] -projection_matrix: - rows: 3 - cols: 4 - data: [323.792358, 0.000000, 363.187868, 0.000000, 0.000000, 357.040344, 276.369440, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/demos/camera_params_ueye_sim.yaml b/demos/camera_params_ueye_sim.yaml deleted file mode 100644 index 97f8f676b6b36629bb76a8bdc8c3fe06250b7b5b..0000000000000000000000000000000000000000 --- a/demos/camera_params_ueye_sim.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: camera -camera_matrix: - rows: 3 - cols: 3 - data: [320, 0, 320, 0, 320, 240, 0, 0, 1] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [0, 0, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [320, 0, 320, 0, 0, 320, 240, 0, 0, 0, 1, 0] diff --git a/demos/camera_params_vga_ideal.yaml b/demos/camera_params_vga_ideal.yaml deleted file mode 100644 index c0c21118a4d69765f3d86471a7ff4003afc64dc4..0000000000000000000000000000000000000000 --- a/demos/camera_params_vga_ideal.yaml +++ /dev/null @@ -1,20 +0,0 @@ -image_width: 640 -image_height: 480 -camera_name: canonical -camera_matrix: - rows: 3 - cols: 3 - data: [320, 0, 320, 0, 320, 240, 0, 0, 1] -distortion_model: none -distortion_coefficients: - rows: 1 - cols: 5 - data: [0, 0, 0, 0, 0] -rectification_matrix: - rows: 3 - cols: 3 - data: [1, 0, 0, 0, 1, 0, 0, 0, 1] -projection_matrix: - rows: 3 - cols: 4 - data: [320, 0, 320, 0, 0, 320, 240, 0, 0, 0, 1, 0] \ No newline at end of file diff --git a/demos/map_apriltag_1.yaml b/demos/map_apriltag_1.yaml deleted file mode 100644 index d0c6a90707ddd2d15a2f921f244f085ecb337e6f..0000000000000000000000000000000000000000 --- a/demos/map_apriltag_1.yaml +++ /dev/null @@ -1,42 +0,0 @@ -map name: "Example of map of Apriltag landmarks" - -nlandmarks: 4 # This must match the number of landmarks in the list that follows. Otherwise it is an error. - -landmarks: - - - id : 1 # use same as tag id - type: "APRILTAG" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - tag id: 1 - tag width: 0.1 - position: [0, 0, 0] - orientation: [0, 0, 0] # roll pitch yaw in degrees - position fixed: true - orientation fixed: true - - - id : 3 # use same as tag id - type: "APRILTAG" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - tag id: 3 - tag width: 0.1 - position: [1, 1, 0] - orientation: [0, 0, 0] # roll pitch yaw in degrees - position fixed: true - orientation fixed: true - - - id : 5 # use same as tag id - type: "APRILTAG" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - tag id: 5 - tag width: 0.1 - position: [1, 0, 0] - orientation: [0, 0, 0] # roll pitch yaw in degrees - position fixed: true - orientation fixed: true - - - id : 2 # use same as tag id - type: "APRILTAG" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - tag id: 2 - tag width: 0.1 - position: [0, 1, 0] - orientation: [0, 0, 0] # roll pitch yaw in degrees - position fixed: true - orientation fixed: true - diff --git a/demos/map_polyline_example.yaml b/demos/map_polyline_example.yaml deleted file mode 100644 index d1cde10c538cfa7e6f5b6a4b117309e36426528d..0000000000000000000000000000000000000000 --- a/demos/map_polyline_example.yaml +++ /dev/null @@ -1,57 +0,0 @@ -map name: "Example of map of Polyline2D landmarks" - -nlandmarks: 4 # This must match the number of landmarks in the list that follows. Otherwise it is an error. - -landmarks: - - - id: 1 - type: "POLYLINE 2D" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - position: [1, 1] - orientation: [1] - position fixed: true - orientation fixed: true - classification: 0 - first_id: 0 - first_defined: false - last_defined: false - points: - - [1, 1] - - [1, 2] - - [1, 3] - - - id: 4 - type: "POLYLINE 2D" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - position: [4, 4] - orientation: [4] - position fixed: true - orientation fixed: true - classification: 0 - first_id: -2 - first_defined: false - last_defined: true - points: - - [4, 1] - - [4, 2] - - [4, 3] - - [4, 4] - - - - id: 6 - type: "POLYLINE 2D" # This must match the KEY used in the LandmarkFactory. Otherwise it is an error. - position: [6, 6] - orientation: [6] - position fixed: true - orientation fixed: true - classification: 0 - first_id: 0 - first_defined: true - last_defined: false - points: - - [6, 1] - - [6, 2] - - - id: 7 - type: "AHP" - position: [1, 2, 3, 4] - descriptor: [1, 0, 1, 0, 1, 1, 0, 0] - \ No newline at end of file diff --git a/demos/processor_image_feature.yaml b/demos/processor_image_feature.yaml deleted file mode 100644 index a48c9e4277b483a0f67e4f856f72c0076a2cc2be..0000000000000000000000000000000000000000 --- a/demos/processor_image_feature.yaml +++ /dev/null @@ -1,22 +0,0 @@ -processor type: "IMAGE ORB" -processor name: "ORB feature tracker" - -vision_utils: - YAML file params: processor_image_vision_utils.yaml - -algorithm: - maximum new features: 40 - minimum features for new keyframe: 40 - minimum response for new features: 80 #0.0005 - time tolerance: 0.01 - distance: 20 - -noise: - pixel noise std: 1 # pixels - -draw: # Used to control drawing options - primary draw: true - secondary draw: true - detection roi: true - tracking roi: false - diff --git a/demos/processor_image_vision_utils.yaml b/demos/processor_image_vision_utils.yaml deleted file mode 100644 index 028f69ba6321802009765d346f2e735c6a018990..0000000000000000000000000000000000000000 --- a/demos/processor_image_vision_utils.yaml +++ /dev/null @@ -1,42 +0,0 @@ -sensor: - type: "USB_CAM" - -detector: - type: "ORB" - nfeatures: 100 - scale factor: 1.2 - nlevels: 8 - edge threshold: 8 # 16 - first level: 0 - WTA_K: 2 # See: http://docs.opencv.org/trunk/db/d95/classcv_1_1ORB.html#a180ae17d3300cf2c619aa240d9b607e5 - score type: 1 #enum { kBytes = 32, HARRIS_SCORE=0, FAST_SCORE=1 }; - patch size: 15 # 31 - -descriptor: - type: "ORB" - nfeatures: 100 - scale factor: 1.2 - nlevels: 8 - edge threshold: 8 # 16 - first level: 0 - WTA_K: 2 # See: http://docs.opencv.org/trunk/db/d95/classcv_1_1ORB.html#a180ae17d3300cf2c619aa240d9b607e5 - score type: 1 #enum { kBytes = 32, HARRIS_SCORE=0, FAST_SCORE=1 }; - patch size: 15 # 31 - -matcher: - type: "FLANNBASED" - match type: 1 # Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3 - roi: - width: 20 - height: 20 - min normalized score: 0.85 - -algorithm: - type: "ACTIVESEARCH" - draw results: false - grid horiz cells: 12 - grid vert cells: 8 - separation: 10 - min features to track: 5 - max new features: 40 - min response new features: 80 \ No newline at end of file diff --git a/demos/processor_imu.yaml b/demos/processor_imu.yaml deleted file mode 100644 index 8e8a6c8cd0b75c0366a7aa83db4f3d54e4687fa6..0000000000000000000000000000000000000000 --- a/demos/processor_imu.yaml +++ /dev/null @@ -1,11 +0,0 @@ -processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails -unmeasured perturbation std: 0.00001 -time tolerance: 0.0025 # Time tolerance for joining KFs -keyframe vote: - max time span: 2.0 # seconds - max buffer length: 20000 # motion deltas - dist traveled: 2.0 # meters - angle turned: 0.2 # radians (1 rad approx 57 deg, approx 60 deg) - voting_active: false - \ No newline at end of file diff --git a/demos/processor_imu_no_vote.yaml b/demos/processor_imu_no_vote.yaml deleted file mode 100644 index 678867b719b191b6ba980a5c712f5164a9f83e28..0000000000000000000000000000000000000000 --- a/demos/processor_imu_no_vote.yaml +++ /dev/null @@ -1,11 +0,0 @@ -processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails -time tolerance: 0.0025 # Time tolerance for joining KFs -unmeasured perturbation std: 0.00001 -keyframe vote: - max time span: 999999.0 # seconds - max buffer length: 999999 # motion deltas - dist traveled: 999999.0 # meters - angle turned: 999999 # radians (1 rad approx 57 deg, approx 60 deg) - voting_active: false - \ No newline at end of file diff --git a/demos/processor_imu_t1.yaml b/demos/processor_imu_t1.yaml deleted file mode 100644 index b68740d245b4922a4a095b2a0ac1b2ce5becbd52..0000000000000000000000000000000000000000 --- a/demos/processor_imu_t1.yaml +++ /dev/null @@ -1,11 +0,0 @@ -processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails -unmeasured perturbation std: 0.00001 -time tolerance: 0.0025 # Time tolerance for joining KFs -keyframe vote: - max time span: 0.9999 # seconds - max buffer length: 10000 # motion deltas - dist traveled: 10000 # meters - angle turned: 10000 # radians (1 rad approx 57 deg, approx 60 deg) - voting_active: true - \ No newline at end of file diff --git a/demos/processor_imu_t6.yaml b/demos/processor_imu_t6.yaml deleted file mode 100644 index 511a917c7500abbb445c7bfb016737c881dc400a..0000000000000000000000000000000000000000 --- a/demos/processor_imu_t6.yaml +++ /dev/null @@ -1,11 +0,0 @@ -processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails -unmeasured perturbation std: 0.00001 -time tolerance: 0.0025 # Time tolerance for joining KFs -keyframe vote: - max time span: 5.9999 # seconds - max buffer length: 10000 # motion deltas - dist traveled: 10000 # meters - angle turned: 10000 # radians (1 rad approx 57 deg, approx 60 deg) - voting_active: true - \ No newline at end of file diff --git a/demos/processor_odom_3D.yaml b/demos/processor_odom_3D.yaml deleted file mode 100644 index f501e333800ec1bbb4b7c751a32aa67a99bec74c..0000000000000000000000000000000000000000 --- a/demos/processor_odom_3D.yaml +++ /dev/null @@ -1,8 +0,0 @@ -processor type: "ODOM 3D" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -processor name: "Main odometer" # This is ignored. The name provided to the SensorFactory prevails -time tolerance: 0.01 # seconds -keyframe vote: - max time span: 0.2 # seconds - max buffer length: 10 # motion deltas - dist traveled: 0.5 # meters - angle turned: 0.1 # radians (1 rad approx 57 deg, approx 60 deg) \ No newline at end of file diff --git a/demos/processor_tracker_landmark_apriltag.yaml b/demos/processor_tracker_landmark_apriltag.yaml deleted file mode 100644 index e8b1fd02dc80ffedefafc44ae3af9898a873cb3b..0000000000000000000000000000000000000000 --- a/demos/processor_tracker_landmark_apriltag.yaml +++ /dev/null @@ -1,57 +0,0 @@ -processor type: "TRACKER LANDMARK APRILTAG" -processor name: "tracker landmark apriltag example" - -detector parameters: - quad_decimate: 1.5 # doing quad detection at lower resolution to speed things up (see end of file) - quad_sigma: 0.8 # gaussian blur good for noisy images, may be recommended with quad_decimate. Kernel size adapted (see end of this file) - nthreads: 8 # how many thread during tag detection (does not change much?) - debug: false # write some debugging images - refine_edges: true # better edge detection if quad_decimate > 1 (quite inexpensive, almost no diff) - ippe_min_ratio: 3.0 # quite arbitrary, always > 1 (to deactive, set at 0 for example) - ippe_max_rep_error: 2.0 # to deactivate, set at something big (100) - -tag widths: - 0: 0.055 - 1: 0.055 - 2: 0.055 - 3: 0.055 - -tag parameters: - tag_family: "tag36h11" - # tag_black_border: 1 - tag_width_default: 0.165 # used if tag width not specified - - -noise: - std_xy : 0.1 # m - std_z : 0.1 # m - std_rpy_degrees : 5 # degrees - std_pix: 20 # pixel error - -vote: - voting active: true - min_time_vote: 0 # s - max_time_vote: 0 # s - min_features_for_keyframe: 12 - max_features_diff: 17 - nb_vote_for_every_first: 50 - enough_info_necessary: true # create kf if enough information to uniquely determine the KF position (necessary for apriltag_only slam) - -reestimate_last_frame: true # for a better prior on the new keyframe: use only if no motion processor -add_3D_cstr: true # add 3D constraints between the KF so that they do not jump when using apriltag only - - -# Annexes: -### Quad decimate: the higher, the lower the resolution -# Does nothing if <= 1.0 -# Only values taken into account: -# 1.5, 2, 3, 4 -# 1.5 -> ~*2 speed up - -# Higher values use a "bad" code according to commentaries in the library, smaller do nothing -### Gaussian blur table: -# max sigma kernel size -# 0.499 1 (disabled) -# 0.999 3 -# 1.499 5 -# 1.999 7 diff --git a/demos/sensor_imu.yaml b/demos/sensor_imu.yaml deleted file mode 100644 index 66b81a5288877362753612f7aa4b9222da009e8d..0000000000000000000000000000000000000000 --- a/demos/sensor_imu.yaml +++ /dev/null @@ -1,9 +0,0 @@ -sensor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -sensor name: "Main IMU" # This is ignored. The name provided to the SensorFactory prevails -motion variances: - a_noise: 0.053 # standard deviation of Acceleration noise (same for all the axis) in m/s2 - w_noise: 0.0011 # standard deviation of Gyroscope noise (same for all the axis) in rad/sec - ab_initial_stdev: 0.800 # m/s2 - initial bias - wb_initial_stdev: 0.350 # rad/sec - initial bias - ab_rate_stdev: 0.1 # m/s2/sqrt(s) - wb_rate_stdev: 0.0400 # rad/s/sqrt(s) \ No newline at end of file diff --git a/demos/sensor_odom_3D.yaml b/demos/sensor_odom_3D.yaml deleted file mode 100644 index 9ea77803548cfd9d033f54e40b6d92a72710afb8..0000000000000000000000000000000000000000 --- a/demos/sensor_odom_3D.yaml +++ /dev/null @@ -1,8 +0,0 @@ -sensor type: "ODOM 3D" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -sensor name: "Main odometer" # This is ignored. The name provided to the SensorFactory prevails -motion variances: - disp_to_disp: 0.02 # m^2 / m - disp_to_rot: 0.02 # rad^2 / m - rot_to_rot: 0.01 # rad^2 / rad - min_disp_var: 0.01 # m^2 - min_rot_var: 0.01 # rad^2 diff --git a/demos/sensor_odom_3D_HQ.yaml b/demos/sensor_odom_3D_HQ.yaml deleted file mode 100644 index 08945ef842e46f28642f1be63ca95850b618a35e..0000000000000000000000000000000000000000 --- a/demos/sensor_odom_3D_HQ.yaml +++ /dev/null @@ -1,8 +0,0 @@ -sensor type: "ODOM 3D" # This must match the KEY used in the SensorFactory. Otherwise it is an error. -sensor name: "Main odometer" # This is ignored. The name provided to the SensorFactory prevails -motion variances: - disp_to_disp: 0.000001 # m^2 / m - disp_to_rot: 0.000001 # rad^2 / m - rot_to_rot: 0.000001 # rad^2 / rad - min_disp_var: 0.00000001 # m^2 - min_rot_var: 0.00000001 # rad^2 \ No newline at end of file diff --git a/serialization/CMakeLists.txt b/serialization/CMakeLists.txt deleted file mode 100644 index a853ba8ec5158727fcd4bfd9752d6de398c5aefa..0000000000000000000000000000000000000000 --- a/serialization/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(cereal) diff --git a/serialization/cereal/CMakeLists.txt b/serialization/cereal/CMakeLists.txt deleted file mode 100644 index 1ae16bcd213401f6558a4ee80c2c5a8ef8c5f171..0000000000000000000000000000000000000000 --- a/serialization/cereal/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - -SET(HDRS_SERIALIZATION ${HDRS_SERIALIZATION} - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_eigen_core.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_eigen_geometry.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_eigen_sparse.h - - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_local_parametrization_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_local_parametrization_homogeneous.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_local_parametrization_quaternion.h - - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_node_base.h - - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_sensor_intrinsic_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_sensor_odom2d_intrinsic.h - - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_processor_params_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_processor_odom2d_params.h - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_processor_odom3d_params.h - - ${CMAKE_CURRENT_SOURCE_DIR}/serialization_time_stamp.h - - ${CMAKE_CURRENT_SOURCE_DIR}/archives.h - ${CMAKE_CURRENT_SOURCE_DIR}/io.h - - PARENT_SCOPE) diff --git a/serialization/cereal/archives.h b/serialization/cereal/archives.h deleted file mode 100644 index d8c16fd180ef04049ceedaf268fa33782790d27a..0000000000000000000000000000000000000000 --- a/serialization/cereal/archives.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_ARCHIVE_H_ -#define _WOLF_IO_CEREAL_ARCHIVE_H_ - -#include <cereal/archives/binary.hpp> -#include <cereal/archives/json.hpp> -#include <cereal/archives/portable_binary.hpp> -#include <cereal/archives/xml.hpp> - -#endif /* _WOLF_IO_CEREAL_ARCHIVE_H_ */ diff --git a/serialization/cereal/io.h b/serialization/cereal/io.h deleted file mode 100644 index 8a8e58c2d8a873b4d327e1c8639fc007cb8604aa..0000000000000000000000000000000000000000 --- a/serialization/cereal/io.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_IO_H_ -#define _WOLF_SERIALIZATION_CEREAL_IO_H_ - -#include <stdexcept> -#include "archives.h" - -//#include <cereal/types/tuple.hpp> - -namespace wolf { -namespace serialization { - -/// @todo demangle typeid.name ? -template <typename T> -inline const std::string& type_name(const T&) -{ - static const std::string typeid_name = typeid(T).name(); - return typeid_name; -} - -inline std::string extension(const std::string& file) -{ - const std::size_t p = file.find_last_of("."); - return (p != std::string::npos) ? file.substr(p) : ""; -} - -//struct Extensions -//{ -// constexpr static const char* bin = ".bin"; -// constexpr static const char* json = ".json"; -// constexpr static const char* xml = ".xml"; - -// constexpr static const char* fall_back = json; -//}; - -//enum class Extensions2 : std::size_t -//{ -// BIN = 0, -//// CBIN, -// JSON, -//// TEXT, -// XML, -//}; - -//template <char... Chars> -//struct constexp_str -//{ -// using type = constexp_str<Chars...>; - -// virtual ~constexp_str() = default; - -// constexpr static const char value[sizeof...(Chars)+1] = {Chars..., '\0'}; - -// constexpr static std::size_t size() { return sizeof...(Chars); } - -// constexpr static const char* c_str() { return &value[0]; } - -//// constexpr static bool comp(const std::string& s) { return s == value; } - -// /*constexpr*/ bool operator == (const std::string& s) { return s == value; } - -// constexpr /*static*/ operator const char* () { return c_str(); } -// constexpr /*static*/ operator std::string& () { return c_str(); } -//}; - -struct Extensions -{ -// template <char... Chars> -// struct EXT : constexp_str<Chars...> -// { -// // -// }; - -// struct BIN : EXT<'.','b','i','n'> { }; -// struct XML : EXT<'.','x','m','l'> { }; -// struct JSON : EXT<'.','j','s','o','n'> { }; - - struct EXT { virtual ~EXT() = default; }; - - struct BIN : EXT - { - constexpr static const char* value = ".bin"; - bool operator == (const std::string& s) { return value == s; } - }; - - struct XML : EXT - { - constexpr static const char* value = ".xml"; - bool operator == (const std::string& s) { return value == s; } - }; - - struct JSON : EXT - { - constexpr static const char* value = ".json"; - bool operator == (const std::string& s) { return value == s; } - }; -}; - -template <typename Ar> -void serialize_pack(Ar&&) -{ - // end of expansion -} - -template <typename Ar, typename T, typename... Args> -void serialize_pack(Ar&& archive, T&& object, Args&&... args) -{ - archive( cereal::make_nvp(type_name(object), std::forward<T>(object)) ); - serialize_pack(archive, std::forward<Args>(args)...); -} - -template <typename Ar, typename S, typename T, typename... Args> -void serialize(S& stream, T&& object, Args&&... args) -{ - Ar archive(stream); - archive( cereal::make_nvp(type_name(object), std::forward<T>(object)) ); - - serialize_pack(archive, std::forward<Args>(args)...); -} - -template <typename EXT, typename InAr, typename OutAr> -struct Serializer -{ - template <typename S, typename... T> - static void serialize_in(S& stream, T&... object) - { - serialize<InAr>(stream, object...); - } - - template <typename S, typename... T> - static void serialize_out(S& stream, T&&... object) - { - serialize<OutAr>(stream, std::forward<T>(object)...); - } - - template <typename... T> - static void save(std::string filename, T&&... o) - { - const std::string ext = serialization::extension(filename); - - if (ext != EXT::value) filename += EXT::value; - - std::ofstream os(filename); - serialize_out(os, std::forward<T>(o)...); - } - - template <typename... T> - static void load(std::string filename, T&... o) - { - const std::string ext = serialization::extension(filename); - - if (ext != EXT::value) filename += EXT::value; - - std::ifstream is(filename); - serialize_in(is, o...); - } -}; - -using SerializerBin = Serializer<Extensions::BIN, - cereal::BinaryInputArchive, - cereal::BinaryOutputArchive>; - -using SerializerXML = Serializer<Extensions::XML, - cereal::XMLInputArchive, - cereal::XMLOutputArchive>; - -using SerializerJSON = Serializer<Extensions::JSON, - cereal::JSONInputArchive, - cereal::JSONOutputArchive>; - -} /* namespace serialization */ - -template <typename... T> -void save(const std::string& filename, T&&... o) -throw(std::runtime_error) -{ - const std::string ext = serialization::extension(filename); - - if (ext == serialization::Extensions::BIN::value) - { - serialization::SerializerBin::save(filename, std::forward<T>(o)...); - } - else if (ext == serialization::Extensions::JSON::value) - { - serialization::SerializerJSON::save(filename, std::forward<T>(o)...); - } - else if (ext == serialization::Extensions::XML::value) - { - serialization::SerializerXML::save(filename, std::forward<T>(o)...); - } - else if (ext == "") // falback is json - { - serialization::SerializerJSON::save(filename, std::forward<T>(o)...); - } - else - { - throw std::runtime_error("Unknown file extension : " + filename); - } -} - -template <typename... T> -void load(const std::string& filename, T&... o) -{ - const std::string ext = serialization::extension(filename); - - if (ext == serialization::Extensions::BIN::value) - { - serialization::SerializerBin::load(filename, o...); - } - else if (ext == serialization::Extensions::XML::value) - { - serialization::SerializerXML::load(filename, o...); - } - else if (ext == serialization::Extensions::JSON::value) - { - serialization::SerializerJSON::load(filename, o...); - } - else if (ext == "") // falback is json - { - serialization::SerializerJSON::load(filename, o...); - } - else - { - throw std::runtime_error("Unknown file extension : " + filename); - } -} - -} /* namespace wolf */ - -#endif /* _WOLF_SERIALIZATION_CEREAL_IO_H_ */ diff --git a/serialization/cereal/serialization_eigen_core.h b/serialization/cereal/serialization_eigen_core.h deleted file mode 100644 index 8fb5b9b0c99637e7b4aed9efb3aaf68007aafb79..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_eigen_core.h +++ /dev/null @@ -1,125 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_EIGEN_H_ -#define _WOLF_IO_CEREAL_EIGEN_H_ - -// Wolf includes -#include <Eigen/Dense> -#include <cereal/cereal.hpp> - -namespace cereal { - -/** - * @brief Save Eigen::Matrix<...> to text based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<!traits::is_output_serializable<BinaryData<_Scalar>, Archive>::value, -void>::type save(Archive& ar, - const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows = mat.rows(); - decltype(mat.cols()) cols = mat.cols(); - - ar(cereal::make_nvp("rows", rows)); - ar(cereal::make_nvp("cols", cols)); - - /// @todo find out something - std::cerr << "Saving Eigen type to text-based archive is NOT supported !\n"; -} - -/** - * @brief Save Eigen::Matrix<...> to binary based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<traits::is_output_serializable<BinaryData<_Scalar>, Archive>::value, -void>::type save(Archive& ar, - const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows = mat.rows(); - decltype(mat.cols()) cols = mat.cols(); - - ar(rows); - ar(cols); - - ar(binary_data(mat.data(), static_cast<std::size_t>(rows * cols * sizeof(_Scalar)))); -} - -/** - * @brief Load compile-time sized Eigen::Matrix from text based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<!traits::is_input_serializable<BinaryData<_Scalar>, Archive>::value and - _Rows != Eigen::Dynamic and _Cols != Eigen::Dynamic, -void>::type load(Archive& ar, - Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows; - decltype(mat.cols()) cols; - - ar(cereal::make_nvp("rows", rows)); - ar(cereal::make_nvp("cols", cols)); - - /// @todo find out something - std::cerr << "Saving Eigen type to text-based archive is NOT supported !\n"; -} - -/** - * @brief Load dynamic sized Eigen::Matrix from text based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<!traits::is_input_serializable<BinaryData<_Scalar>, Archive>::value and - (_Rows == Eigen::Dynamic or _Cols == Eigen::Dynamic), -void>::type load(Archive& ar, - Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows; - decltype(mat.cols()) cols; - - ar(cereal::make_nvp("rows", rows)); - ar(cereal::make_nvp("cols", cols)); - - /// @todo find out something - std::cerr << "Saving Eigen type to text-based archive is NOT supported !\n"; - - //mat.resize(rows, cols); -} - -/** - * @brief Load compile-time sized Eigen::Matrix from binary based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<traits::is_input_serializable<BinaryData<_Scalar>, Archive>::value and - _Rows != Eigen::Dynamic and _Cols != Eigen::Dynamic, -void>::type load(Archive& ar, - Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows; - decltype(mat.cols()) cols; - - ar(rows); - ar(cols); - - ar(binary_data(mat.data(), static_cast<std::size_t>(rows * cols * sizeof(_Scalar)))); -} - -/** - * @brief Load dynamic sized Eigen::Matrix from binary based archives - */ -template<class Archive, typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols> -inline typename std::enable_if<traits::is_input_serializable<BinaryData<_Scalar>, Archive>::value and - (_Rows == Eigen::Dynamic or _Cols == Eigen::Dynamic), -void>::type load(Archive& ar, - Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& mat) -{ - decltype(mat.rows()) rows; - decltype(mat.cols()) cols; - - ar(rows); - ar(cols); - - mat.resize(rows, cols); - - ar(binary_data(mat.data(), static_cast<std::size_t>(rows * cols * sizeof(_Scalar)))); -} - -} // namespace cereal - -#endif /* _WOLF_IO_CEREAL_EIGEN_H_ */ diff --git a/serialization/cereal/serialization_eigen_geometry.h b/serialization/cereal/serialization_eigen_geometry.h deleted file mode 100644 index f5d3ac61fa92c85d5c2b98670e86e5c6d3d68c24..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_eigen_geometry.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ -#define _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ - -// Wolf includes -#include <Eigen/Geometry> - -#include "serialization_eigen_core.h" - -namespace cereal { - -template<class Archive, typename _Scalar, int _Dim, int _Mode, int _Options> -inline void save(Archive& ar, - const Eigen::Transform<_Scalar, _Dim, _Mode, _Options>& t) -{ - save(ar, t.matrix()); -} - -template<class Archive, typename _Scalar, int _Dim, int _Mode, int _Options> -inline void load(Archive& ar, - Eigen::Transform<_Scalar, _Dim, _Mode, _Options>& t) -{ - load(ar, t.matrix()); -} - -template<class Archive, typename _Scalar> -void serialize(Archive & ar, - Eigen::Quaternion<_Scalar>& q, - const std::uint32_t /*version*/) -{ - ar(cereal::make_nvp("w", q.w())); - ar(cereal::make_nvp("x", q.x())); - ar(cereal::make_nvp("y", q.y())); - ar(cereal::make_nvp("z", q.z())); -} - -} // namespace cereal - -#endif /* _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ */ diff --git a/serialization/cereal/serialization_eigen_sparse.h b/serialization/cereal/serialization_eigen_sparse.h deleted file mode 100644 index 9039b6920bc74abb3b4ff9efa4e0b935674ca53f..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_eigen_sparse.h +++ /dev/null @@ -1,79 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ -#define _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ - -// Wolf includes -#include <Eigen/Sparse> - -#include "serialization_eigen_core.h" -#include <cereal/types/vector.hpp> - -namespace cereal { - -template<class Archive, typename Scalar, typename Index> -inline void save(Archive& ar, - const Eigen::Triplet<Scalar, Index>& t) -{ - ar(cereal::make_nvp("row", t.row())); - ar(cereal::make_nvp("col", t.col())); - ar(cereal::make_nvp("value", t.value())); -} - -template<class Archive, typename Scalar, typename Index> -inline void load(Archive& ar, - Eigen::Triplet<Scalar, Index>& t) -{ - Index row, col; - Scalar value; - - ar(cereal::make_nvp("row", row)); - ar(cereal::make_nvp("col", col)); - ar(cereal::make_nvp("value", value)); - - t = Eigen::Triplet<Scalar, Index>(row, col, value); -} - -template <class Archive, typename _Scalar, int _Options, typename _Index> -void save(Archive& ar, - const Eigen::SparseMatrix<_Scalar, _Options, _Index>& m) -{ - _Index inner_size = m.innerSize(); - _Index outer_size = m.outerSize(); - - using Triplet = Eigen::Triplet<_Scalar>; - std::vector<Triplet> triplets; - - for (_Index i=0; i < outer_size; ++i) - for (typename Eigen::SparseMatrix<_Scalar, _Options, _Index>::InnerIterator it(m,i); it; ++it) - triplets.emplace_back( it.row(), it.col(), it.value() ); - - ar(cereal::make_nvp("inner_size", inner_size)); - ar(cereal::make_nvp("outer_size", outer_size)); - ar(cereal::make_nvp("triplets", triplets)); -} - -template <class Archive, typename _Scalar, int _Options, typename _Index> -void load(Archive& ar, - Eigen::SparseMatrix<_Scalar, _Options, _Index>& m) -{ - _Index inner_size; - _Index outer_size; - - ar(cereal::make_nvp("inner_size", inner_size)); - ar(cereal::make_nvp("outer_size", outer_size)); - - _Index rows = (m.IsRowMajor)? outer_size : inner_size; - _Index cols = (m.IsRowMajor)? inner_size : outer_size; - - m.resize(rows, cols); - - using Triplet = Eigen::Triplet<_Scalar>; - std::vector<Triplet> triplets; - - ar(cereal::make_nvp("triplets", triplets)); - - m.setFromTriplets(triplets.begin(), triplets.end()); -} - -} // namespace cereal - -#endif /* _WOLF_IO_CEREAL_EIGEN_GEOMETRY_H_ */ diff --git a/serialization/cereal/serialization_local_parametrization_base.h b/serialization/cereal/serialization_local_parametrization_base.h deleted file mode 100644 index 1385e1af088678e853c0ab0ecb4f5d6a34f103a0..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_local_parametrization_base.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_H_ -#define _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_H_ - -#include "base/state_block/local_parametrization_base.h" - -#include <cereal/cereal.hpp> -#include <cereal/types/polymorphic.hpp> - -namespace cereal { - -// Since classes deriving from LocalParametrizationBase -// have default constructor calling the non-default -// LocalParametrizationBase constructor with pre-defined -// arguments, there is nothing to save here. -template<class Archive> -inline void serialize( - Archive& /*ar*/, - wolf::LocalParametrizationBase& /*lpb*/, - std::uint32_t const /*file_version*/) -{ - // -} - -} //namespace cereal - -#endif /* _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_H_ */ diff --git a/serialization/cereal/serialization_local_parametrization_homogeneous.h b/serialization/cereal/serialization_local_parametrization_homogeneous.h deleted file mode 100644 index 9fcc656d5b86c51eb3995d1a11fbdcc80b1e98c4..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_local_parametrization_homogeneous.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_HOMOGENEOUS_H_ -#define _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_HOMOGENEOUS_H_ - -#include "core/local_parametrization_homogeneous.h" - -#include "serialization_local_parametrization_base.h" - -#include <cereal/cereal.hpp> - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::LocalParametrizationHomogeneous, - "LocalParametrizationHomogeneous"); - -namespace cereal { - -template<class Archive> -inline void serialize( - Archive& ar, - wolf::LocalParametrizationHomogeneous& lp, - std::uint32_t const /*file_version*/) -{ - ar( cereal::make_nvp("LocalParametrizationBase", - cereal::base_class<wolf::LocalParametrizationBase>(&lp)) ); -} - -} //namespace cereal - -#endif /* _WOLF_IO_CEREAL_LOCAL_PARAMETRIZATION_BASE_HOMOGENEOUS_H_ */ diff --git a/serialization/cereal/serialization_local_parametrization_quaternion.h b/serialization/cereal/serialization_local_parametrization_quaternion.h deleted file mode 100644 index 66fe30a361f0f1878a9444d9fb487ad2a068ad0d..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_local_parametrization_quaternion.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef WOLF_IO_SERIALIZATION_LOCAL_PARAMETRIZATION_QUATERNION_H_ -#define WOLF_IO_SERIALIZATION_LOCAL_PARAMETRIZATION_QUATERNION_H_ - -#include "core/local_parametrization_quaternion.h" - -#include "serialization_local_parametrization_base.h" - -#include <cereal/cereal.hpp> - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::LocalParametrizationQuaternion<wolf::DQ_LOCAL>, - "wolf_LocalParametrizationQuaternion_DQ_LOCAL") - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::LocalParametrizationQuaternion<wolf::DQ_GLOBAL>, - "wolf_LocalParametrizationQuaternion_DQ_GLOBAL") - -namespace cereal { - -template<class Archive, unsigned int DeltaReference> -inline void serialize( - Archive &ar, - wolf::LocalParametrizationQuaternion<DeltaReference> &lp, - const unsigned int /*file_version*/) -{ - ar( cereal::make_nvp("LocalParametrizationBase", - cereal::base_class<wolf::LocalParametrizationBase>(&lp)) ); -} - -} //namespace boost - -#endif /* WOLF_IO_SERIALIZATION_LOCAL_PARAMETRIZATION_QUATERNION_H_ */ diff --git a/serialization/cereal/serialization_node_base.h b/serialization/cereal/serialization_node_base.h deleted file mode 100644 index a2c592d6982485de2aebf189e09e764b68022783..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_node_base.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_NODE_BASE_H_ -#define _WOLF_IO_CEREAL_NODE_BASE_H_ - -// Wolf includes -#include "core/node_base.h" - -#include <cereal/cereal.hpp> -#include <cereal/types/polymorphic.hpp> - -namespace wolf { - -struct NodeBase::Serializer { - - template <class Archive> - static void serialize(Archive& ar, NodeBase& o, std::uint32_t const /*version*/) - { - ar( cereal::make_nvp("node_class_", o.node_category_) ); - ar( cereal::make_nvp("node_type_", o.node_type_) ); - ar( cereal::make_nvp("node_name_", o.node_name_) ); - ar( cereal::make_nvp("node_id_", o.node_id_) ); - -// ar( cereal::make_nvp("problem_ptr_", o.problem_ptr_) ); - - // Not sure what to do with this guy ... - //ar( cereal::make_nvp("node_id_count_", o.node_id_count_) ); - } - - template <class Archive> - static void load_and_construct( Archive& ar, cereal::construct<wolf::NodeBase>& construct, - std::uint32_t const /*version*/ ) - { - decltype(std::declval<wolf::NodeBase>().getCategory()) nb_class; - decltype(std::declval<wolf::NodeBase>().getType()) nb_type; - decltype(std::declval<wolf::NodeBase>().getName()) nb_name; - - ar( cereal::make_nvp("node_class_", nb_class) ); - ar( cereal::make_nvp("node_type_", nb_type) ); - ar( cereal::make_nvp("node_name_", nb_name) ); - - construct( nb_class, nb_type, nb_name ); - - ar( cereal::make_nvp("node_id_", construct->node_id_) ); - -// ar( cereal::make_nvp("problem_ptr_", construct->problem_ptr_) ); - - // Not sure what to do with this guy ... - //ar( cereal::make_nvp("node_id_count_", construct->node_id_count_) ); - } -}; - -} // namespace wolf - -namespace cereal { - -/// @note No default constructor thus the need -/// for these specializations -template <> -struct LoadAndConstruct<wolf::NodeBase> -{ - template <class Archive> - static void load_and_construct( Archive& ar, - cereal::construct<wolf::NodeBase>& construct, - std::uint32_t const version ) - { - wolf::NodeBase::Serializer::load_and_construct(ar, construct, version); - } -}; - -template <class Archive> -void serialize(Archive& ar, wolf::NodeBase& o, std::uint32_t const version) -{ - wolf::NodeBase::Serializer::serialize(ar, o, version); -} - -} // namespace cereal - -#endif /* _WOLF_IO_CEREAL_NODE_BASE_H_ */ diff --git a/serialization/cereal/serialization_processor_odom2d_params.h b/serialization/cereal/serialization_processor_odom2d_params.h deleted file mode 100644 index dc0416b94634ef8415919c26fa972c86edb99a00..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_processor_odom2d_params.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM2D_PARAMS_H_ -#define _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM2D_PARAMS_H_ - -// Wolf includes -#include "core/processor/processor_odom_2D.h" -#include "serialization_processor_params_base.h" - -namespace cereal { - -template <class Archive> -void serialize(Archive& ar, wolf::ProcessorParamsOdom2D& o, - std::uint32_t const /*version*/) -{ - ar( cereal::make_nvp("ProcessorParamsBase", - cereal::base_class<wolf::ProcessorParamsBase>(&o)) ); - - ar( cereal::make_nvp("cov_det_th_", o.cov_det) ); - ar( cereal::make_nvp("dist_traveled_th_", o.dist_traveled_th_) ); - ar( cereal::make_nvp("elapsed_time_th_", o.elapsed_time_th_) ); - ar( cereal::make_nvp("theta_traveled_th_", o.theta_traveled_th_) ); - ar( cereal::make_nvp("unmeasured_perturbation_std_", - o.unmeasured_perturbation_std) ); -} - -} // namespace cereal - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::ProcessorParamsOdom2D, "ProcessorParamsOdom2D") - -#endif /* _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM3D_PARAMS_H_ */ diff --git a/serialization/cereal/serialization_processor_odom3d_params.h b/serialization/cereal/serialization_processor_odom3d_params.h deleted file mode 100644 index d2fd7c077d868e4dafcfa209c10767415f092ab8..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_processor_odom3d_params.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM3D_PARAMS_H_ -#define _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM3D_PARAMS_H_ - -// Wolf includes -#include "core/processor/processor_odom_3D.h" -#include "serialization_processor_params_base.h" - -namespace cereal { - -template <class Archive> -void serialize(Archive& ar, wolf::ProcessorParamsOdom3D& o, - std::uint32_t const /*version*/) -{ - ar( cereal::make_nvp("ProcessorParamsBase", - cereal::base_class<wolf::ProcessorParamsBase>(&o)) ); - - ar( cereal::make_nvp("angle_turned", o.angle_turned) ); - ar( cereal::make_nvp("dist_traveled", o.dist_traveled) ); - ar( cereal::make_nvp("max_buff_length", o.max_buff_length) ); - ar( cereal::make_nvp("max_time_span", o.max_time_span) ); -} - -} // namespace cereal - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::ProcessorParamsOdom3D, "ProcessorOdom3DParams") - -#endif /* _WOLF_SERIALIZATION_CEREAL_PROCESSOR_ODOM3D_PARAMS_H_ */ diff --git a/serialization/cereal/serialization_processor_params_base.h b/serialization/cereal/serialization_processor_params_base.h deleted file mode 100644 index 03ea158c07ea0c18516400a6c51618998efb9473..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_processor_params_base.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_PROCESSOR_PARAM_BASE_H_ -#define _WOLF_SERIALIZATION_CEREAL_PROCESSOR_PARAM_BASE_H_ - -// Wolf includes -#include "core/processor/processor_base.h" - -#include <cereal/cereal.hpp> -#include <cereal/types/polymorphic.hpp> - -namespace cereal { - -template <class Archive> -void serialize(Archive& ar, wolf::ProcessorParamsBase& o, - std::uint32_t const /*version*/) -{ - ar( cereal::make_nvp("type", o.type) ); - ar( cereal::make_nvp("name", o.name) ); -} - -} // namespace cereal - -#endif /* _WOLF_SERIALIZATION_CEREAL_SENSOR_INTRINSIC_BASE_H_ */ diff --git a/serialization/cereal/serialization_sensor_intrinsic_base.h b/serialization/cereal/serialization_sensor_intrinsic_base.h deleted file mode 100644 index 86b2a9b482eb61dd290dd2d2723c41415ca11dae..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_sensor_intrinsic_base.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_SENSOR_INTRINSIC_BASE_H_ -#define _WOLF_SERIALIZATION_CEREAL_SENSOR_INTRINSIC_BASE_H_ - -// Wolf includes -#include "core/sensor/sensor_base.h" - -#include <cereal/cereal.hpp> -#include <cereal/types/polymorphic.hpp> - -namespace cereal { - -template <class Archive> -void serialize(Archive& ar, wolf::IntrinsicsBase& o, - std::uint32_t const /*version*/) -{ - ar( cereal::make_nvp("type", o.type) ); - ar( cereal::make_nvp("name", o.name) ); -} - -} // namespace cereal - -// No need to register base -//CEREAL_REGISTER_TYPE_WITH_NAME(wolf::IntrinsicsBase, "IntrinsicsBase"); - -#endif /* _WOLF_SERIALIZATION_CEREAL_SENSOR_INTRINSIC_BASE_H_ */ diff --git a/serialization/cereal/serialization_sensor_odom2d_intrinsic.h b/serialization/cereal/serialization_sensor_odom2d_intrinsic.h deleted file mode 100644 index 17d4160b3751d0a13f0f28836234b500e6674400..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_sensor_odom2d_intrinsic.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef _WOLF_SERIALIZATION_CEREAL_SENSOR_ODOM2D_INTRINSIC_H_ -#define _WOLF_SERIALIZATION_CEREAL_SENSOR_ODOM2D_INTRINSIC_H_ - -// Wolf includes -#include "core/sensor/sensor_odom_2D.h" - -#include "serialization_sensor_intrinsic_base.h" - -namespace cereal { - -template <class Archive> -void serialize(Archive& ar, wolf::IntrinsicsOdom2D& o, - std::uint32_t const /*version*/) -{ - ar( cereal::make_nvp("IntrinsicsBase", - cereal::base_class<wolf::IntrinsicsBase>(&o)) ); - - ar( cereal::make_nvp("k_disp_to_disp", o.k_disp_to_disp) ); - ar( cereal::make_nvp("k_rot_to_rot", o.k_rot_to_rot) ); -} - -} // namespace cereal - -CEREAL_REGISTER_TYPE_WITH_NAME(wolf::IntrinsicsOdom2D, "IntrinsicsOdom2D") - -#endif /* _WOLF_SERIALIZATION_CEREAL_SENSOR_ODOM2D_INTRINSIC_H_ */ diff --git a/serialization/cereal/serialization_time_stamp.h b/serialization/cereal/serialization_time_stamp.h deleted file mode 100644 index f0c978d36415be7598f2ba6eb5b83bd9a5cb0a61..0000000000000000000000000000000000000000 --- a/serialization/cereal/serialization_time_stamp.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _WOLF_IO_CEREAL_TIME_STAMP_H_ -#define _WOLF_IO_CEREAL_TIME_STAMP_H_ - -// Wolf includes -#include "core/time_stamp.h" - -#include <cereal/cereal.hpp> - -namespace cereal { - -/// @note serialization versionning raise -/// a compile error here... -template <class Archive> -void save(Archive& ar, const wolf::TimeStamp& o/*, std::uint32_t const version*/) -{ - ar( cereal::make_nvp("value", o.get()) ); -} - -template <class Archive> -void load(Archive& ar, wolf::TimeStamp& o/*, std::uint32_t const version*/) -{ - auto val = o.get(); - - ar( cereal::make_nvp("value", val) ); - - o.set(val); -} - -} // namespace cereal - -#endif /* _WOLF_IO_CEREAL_TIME_STAMP_H_ */ diff --git a/test/serialization/CMakeLists.txt b/test/serialization/CMakeLists.txt deleted file mode 100644 index 6902132bd458245e2e45012662fdcf0b348b7d4a..0000000000000000000000000000000000000000 --- a/test/serialization/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -# cereal -IF(cereal_FOUND) - add_subdirectory(cereal) -ENDIF(cereal_FOUND) diff --git a/test/serialization/cereal/CMakeLists.txt b/test/serialization/cereal/CMakeLists.txt deleted file mode 100644 index 733a36e25921c4f7c142d59884fb5c9b7dd9e4e4..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -# NodeBase serialization class test -wolf_add_gtest(gtest_cereal_serialization_node_base gtest_serialization_node_base.cpp) -target_link_libraries(gtest_cereal_serialization_node_base ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_local_parametrization - gtest_serialization_local_parametrization.cpp) -target_link_libraries(gtest_cereal_serialization_local_parametrization ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_sensor_intrinsic_base - gtest_serialization_sensor_intrinsic_base.cpp) -target_link_libraries(gtest_cereal_serialization_sensor_intrinsic_base ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_sensor_odom2d_intrinsic - gtest_serialization_sensor_odom2d_intrinsic.cpp) -target_link_libraries(gtest_cereal_serialization_sensor_odom2d_intrinsic ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_save_load - gtest_serialization_save_load.cpp) -target_link_libraries(gtest_cereal_serialization_save_load ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_processor_odom3d_params - gtest_serialization_processor_odom3d_params.cpp) -target_link_libraries(gtest_cereal_serialization_processor_odom3d_params ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_processor_odom2d_params - gtest_serialization_processor_odom2d_params.cpp) -target_link_libraries(gtest_cereal_serialization_processor_odom2d_params ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_time_stamp - gtest_serialization_time_stamp.cpp) -target_link_libraries(gtest_cereal_serialization_time_stamp ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_eigen_core - gtest_serialization_eigen_core.cpp) -target_link_libraries(gtest_cereal_serialization_eigen_core ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_eigen_geometry - gtest_serialization_eigen_geometry.cpp) -target_link_libraries(gtest_cereal_serialization_eigen_geometry ${PROJECT_NAME}) - -wolf_add_gtest(gtest_cereal_serialization_eigen_sparse - gtest_serialization_eigen_sparse.cpp) -target_link_libraries(gtest_cereal_serialization_eigen_sparse ${PROJECT_NAME}) diff --git a/test/serialization/cereal/gtest_serialization_eigen_core.cpp b/test/serialization/cereal/gtest_serialization_eigen_core.cpp deleted file mode 100644 index 28859dd7a5b7db706e041489341bf4c010eb126e..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_eigen_core.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_eigen_core.h" - -#include "../../../serialization/cereal/io.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationEigen : public testing::Test -{ -public: - - WolfTestCerealSerializationEigen() - { - nb_ = f_mat_t::Random(); - - dnb_ = d_mat_t::Random(10, 10); - } - - const std::string path_to_io = "/tmp/"; - const std::string filename = "serialization_eigen"; - - const std::vector<std::string> exts = {".bin"/*, ".xml", ".json"*/}; - - using f_mat_t = Eigen::Matrix<double, 5, 5>; - - using d_mat_t = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic>; - - f_mat_t nb_; - - d_mat_t dnb_; -}; - -TEST_F(WolfTestCerealSerializationEigen, - CerealSerializationEigenFixedMat) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename + ext; - - ASSERT_NO_THROW( wolf::save( full_path, nb_ ) ) - << "Failed on saving " << full_path; - - WolfTestCerealSerializationEigen::f_mat_t nb_load; - - ASSERT_NO_THROW( wolf::load( full_path, nb_load ) ) - << "Failed on loading " << full_path; - - EXPECT_EQ(nb_load, nb_) << full_path; - } - - PRINTF("All good at " - "WolfTestCerealSerializationEigen::" - "CerealSerializationEigenFixedMat !\n"); -} - -TEST_F(WolfTestCerealSerializationEigen, - CerealSerializationEigenDynamicMat) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename + ext; - - ASSERT_NO_THROW( wolf::save( full_path, dnb_ ) ) - << "Failed on saving " << full_path; - - WolfTestCerealSerializationEigen::d_mat_t dnb_load; - - ASSERT_NO_THROW( wolf::load( full_path, dnb_load ) ) - << "Failed on loading " << full_path; - - EXPECT_EQ(dnb_load, dnb_) << full_path; - } - - PRINTF("All good at " - "WolfTestCerealSerializationEigen::" - "CerealSerializationEigenDynamicMat !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_eigen_geometry.cpp b/test/serialization/cereal/gtest_serialization_eigen_geometry.cpp deleted file mode 100644 index 87cafb4d5f171bafb74670348cd562ad49b1d306..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_eigen_geometry.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "core/common/wolf.h" -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_eigen_geometry.h" - -#include "../../../serialization/cereal/io.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationEigenGeo : public testing::Test -{ -public: - - WolfTestCerealSerializationEigenGeo() - { - iso_2d_ = Eigen::Isometry2d(Eigen::Rotation2Dd(0.17)); - iso_2d_.translation() << 0.5, 1.8; - - q_d_ = Eigen::Vector4d().setRandom().normalized(); - - iso_3d_ = Eigen::Isometry3d(q_d_); - iso_3d_.translation() << -7.245, +3.88, 0.0001; - } - - const std::string path_to_io = "/tmp/"; - const std::string filename = "serialization_eigen_geo"; - - const std::vector<std::string> exts = {".bin"/*, ".xml", ".json"*/}; - - Eigen::Isometry2d iso_2d_; - Eigen::Isometry3d iso_3d_; - Eigen::Quaterniond q_d_; -}; - -TEST_F(WolfTestCerealSerializationEigenGeo, - CerealSerializationEigenIso2d) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename + ext; - - ASSERT_NO_THROW( wolf::save( full_path, iso_2d_, iso_3d_, q_d_) ) - << "Failed on saving " << full_path; - - Eigen::Isometry2d iso_2d_loaded; - Eigen::Isometry3d iso_3d_loaded; - Eigen::Quaterniond q_d_loaded; - - ASSERT_NO_THROW( wolf::load( full_path, iso_2d_loaded, iso_3d_loaded, q_d_loaded) ) - << "Failed on loading " << full_path; - - ASSERT_MATRIX_APPROX(iso_2d_.matrix(), iso_2d_loaded.matrix(), wolf::Constants::EPS); - ASSERT_MATRIX_APPROX(iso_3d_.matrix(), iso_3d_loaded.matrix(), wolf::Constants::EPS); - ASSERT_MATRIX_APPROX(q_d_.coeffs(), q_d_loaded.coeffs(), wolf::Constants::EPS); - } - - PRINT_TEST_FINISHED; -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_eigen_sparse.cpp b/test/serialization/cereal/gtest_serialization_eigen_sparse.cpp deleted file mode 100644 index 0b803afdd30778a58b9536343c5ba5248ec8a148..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_eigen_sparse.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "core/common/wolf.h" -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_eigen_sparse.h" - -#include "../../../serialization/cereal/io.h" - -#include <fstream> - -class WolfTestCerealSerializationEigenSparse : public testing::Test -{ -public: - - using triplet_t = Eigen::Triplet<double>; - using sparse_mat_t = Eigen::SparseMatrix<double>; - - WolfTestCerealSerializationEigenSparse() - { - triplet_list_.reserve(10); - - for(int i=0; i<10; ++i) - triplet_list_.emplace_back(i,i,i*5); - - m_.resize(10, 10); - m_.setFromTriplets(triplet_list_.begin(), triplet_list_.end()); - } - - const std::string path_to_io = "/tmp/"; - const std::string filename_t = "serialization_eigen_triplet"; - const std::string filename_m = "serialization_eigen_sparse"; - - const std::vector<std::string> exts = {".bin", ".xml", ".json"}; - - triplet_t t_ = Eigen::Triplet<double>(1, 2, 5.5); - - std::vector<triplet_t> triplet_list_; - Eigen::SparseMatrix<double> m_; -}; - -TEST_F(WolfTestCerealSerializationEigenSparse, - CerealSerializationEigenTriplet) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename_t + ext; - - ASSERT_NO_THROW( wolf::save( full_path, t_) ) - << "Failed on saving " << full_path; - - triplet_t t; - - ASSERT_NO_THROW( wolf::load( full_path, t) ) - << "Failed on loading " << full_path; - - ASSERT_EQ(t_.row(), t.row()); - ASSERT_EQ(t_.col(), t.col()); - ASSERT_EQ(t_.value(), t.value()); - } - - PRINT_TEST_FINISHED; -} - -TEST_F(WolfTestCerealSerializationEigenSparse, - CerealSerializationEigenSparseMatrix) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename_m + ext; - - ASSERT_NO_THROW( wolf::save( full_path, m_) ) - << "Failed on saving " << full_path; - - sparse_mat_t m; - - ASSERT_NO_THROW( wolf::load( full_path, m) ) - << "Failed on loading " << full_path; - - ASSERT_EQ(m_.rows(), m.rows()); - ASSERT_EQ(m_.cols(), m.cols()); - - std::vector<triplet_t> triplet_list; - triplet_list.reserve(10); - - for (int k=0; k<m.outerSize(); ++k) - for (sparse_mat_t::InnerIterator it(m, k); it; ++it) - { - triplet_list.emplace_back(it.row(), it.col(), it.value()); - } - - ASSERT_EQ(triplet_list_.size(), triplet_list.size()); - - for (int i=0; i<triplet_list_.size(); ++i) - { - ASSERT_EQ(triplet_list_[i].row(), triplet_list[i].row()); - ASSERT_EQ(triplet_list_[i].col(), triplet_list[i].col()); - ASSERT_EQ(triplet_list_[i].value(), triplet_list[i].value()); - } - } - - PRINT_TEST_FINISHED; -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_local_parametrization.cpp b/test/serialization/cereal/gtest_serialization_local_parametrization.cpp deleted file mode 100644 index 3df34a27aa683fb5099cb8c108a25fe0f473f31b..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_local_parametrization.cpp +++ /dev/null @@ -1,571 +0,0 @@ -/* - * gtest_node_base_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_local_parametrization_quaternion.h" -#include "../../../serialization/cereal/serialization_local_parametrization_homogeneous.h" - -#include "../../../serialization/cereal/archives.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -/////////////////////////////////////// -/// LocalParametrizationHomogeneous /// -/////////////////////////////////////// - -const std::string path_to_io = "/tmp/"; - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousXML) -{ - { - std::ofstream os(path_to_io + "local_parametrization_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_serialization.xml"); - cereal::XMLInputArchive archive(is); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousPtrXML) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_ptr_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationHomogeneous>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_ptr_serialization.xml"); - cereal::XMLInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationHomogeneous>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousPtrXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousJSON) -{ - { - std::ofstream os(path_to_io + "local_parametrization_serialization.json"); - cereal::JSONOutputArchive archive(os); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_serialization.json"); - cereal::JSONInputArchive archive(is); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousPtrJSON) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_ptr_serialization.json"); - cereal::JSONOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationHomogeneous>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_ptr_serialization.json"); - cereal::JSONInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationHomogeneous>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousPtrJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousBIN) -{ - { - std::ofstream os(path_to_io + "local_parametrization_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - wolf::LocalParametrizationHomogeneous local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousBIN !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationHomogeneousPtrBIN) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_ptr_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationHomogeneous>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_ptr_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationHomogeneous>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationHomogeneousPtrBIN !\n"); -} - -////////////////////////////////////// -/// LocalParametrizationQuaternion /// -////////////////////////////////////// - -////////////////////////////////////// -/// LOCAL /// -////////////////////////////////////// - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionXML) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quat_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_serialization.xml"); - cereal::XMLInputArchive archive(is); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionPtrXML) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quat_ptr_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionLocal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_ptr_serialization.xml"); - cereal::XMLInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionLocal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionPtrXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionJSON) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quat_serialization.json"); - cereal::JSONOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_serialization.json"); - cereal::JSONInputArchive archive(is); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionPtrJSON) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quat_ptr_serialization.json"); - cereal::JSONOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionLocal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_ptr_serialization.json"); - cereal::JSONInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionLocal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionPtrJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionBIN) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quat_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - wolf::LocalParametrizationQuaternionLocal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionBIN !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionPtrBIN) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quat_ptr_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionLocal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quat_ptr_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionLocal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionPtrBIN !\n"); -} - -////////////////////////////////////// -/// GLOBAL /// -////////////////////////////////////// - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalXML) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quatg_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_serialization.xml"); - cereal::XMLInputArchive archive(is); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalPtrXML) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quatg_ptr_serialization.xml"); - cereal::XMLOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionGlobal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_ptr_serialization.xml"); - cereal::XMLInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionGlobal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalPtrXML !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalJSON) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quatg_serialization.json"); - cereal::JSONOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_serialization.json"); - cereal::JSONInputArchive archive(is); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalPtrJSON) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quatg_ptr_serialization.json"); - cereal::JSONOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionGlobal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_ptr_serialization.json"); - cereal::JSONInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionGlobal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalPtrJSON !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalBIN) -{ - { - std::ofstream os(path_to_io + "local_parametrization_quatg_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - wolf::LocalParametrizationQuaternionGlobal local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h.getGlobalSize(), 4); - ASSERT_EQ(local_param_h.getLocalSize(), 3); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalBIN !\n"); -} - -TEST(TestSerialization, SerializationLocalParametrizationQuaternionGlobalPtrBIN) -{ - using LocalParametrizationPtr = std::shared_ptr<wolf::LocalParametrizationBase> ; - - { - std::ofstream os(path_to_io + "local_parametrization_quatg_ptr_serialization.bin"); - cereal::BinaryOutputArchive archive(os); - - LocalParametrizationPtr local_param_h = - std::make_shared<wolf::LocalParametrizationQuaternionGlobal>(); - - ASSERT_NO_THROW( archive( local_param_h ) ); - } - - { - std::ifstream is(path_to_io + "local_parametrization_quatg_ptr_serialization.bin"); - cereal::BinaryInputArchive archive(is); - - LocalParametrizationPtr local_param_h; - - ASSERT_NO_THROW( archive( local_param_h ) ); - - ASSERT_EQ(local_param_h->getGlobalSize(), 4); - ASSERT_EQ(local_param_h->getLocalSize(), 3); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::LocalParametrizationQuaternionGlobal>(local_param_h) != nullptr); - } - - PRINTF("All good at TestSerialization::SerializationLocalParametrizationQuaternionGlobalPtrBIN !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_node_base.cpp b/test/serialization/cereal/gtest_serialization_node_base.cpp deleted file mode 100644 index 8b6140fe70f6afe484249361a516b59d8b5dcf7b..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_node_base.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/* - * gtest_node_base_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_node_base.h" - -#include "../../../serialization/cereal/archives.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationNodeBase : public testing::Test -{ -public: - - WolfTestCerealSerializationNodeBase() /*: - nb(nb_class), - nb_ptr(std::make_shared<wolf::NodeBase>(nb_class))*/ - { - // - } - - const std::string path_to_io = "/tmp/"; - - decltype(std::declval<wolf::NodeBase>().getCategory()) nb_class = "Foo"; - decltype(std::declval<wolf::NodeBase>().getCategory()) nb_type = "Bar"; - decltype(std::declval<wolf::NodeBase>().getCategory()) nb_name = "Dummy"; - - decltype(std::declval<wolf::NodeBase>().nodeId()) id; - -// wolf::NodeBase nb; -// wolf::NodeBasePtr nb_ptr; -}; - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBaseXML) -{ - { - // This guy has node_id = 1 - wolf::NodeBase nb(nb_class, nb_type, nb_name); - - id = nb.nodeId(); - - std::ofstream os(path_to_io + "node_base_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - // This guy has node_id = 2 - wolf::NodeBase nb("SuperDummy"); - - ASSERT_NO_THROW( xml_archive( nb ) ); - - ASSERT_EQ(nb.getCategory(), nb_class); - ASSERT_EQ(nb.getType(), nb_type); - ASSERT_EQ(nb.getName(), nb_name); - ASSERT_EQ(nb.nodeId(), id); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBaseXML !\n"); -} - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBasePtrXML) -{ - { - // This guy has node_id = 3 - wolf::NodeBasePtr nb = std::make_shared<wolf::NodeBase>(nb_class, nb_type, nb_name); - - id = nb->nodeId(); - - std::ofstream os(path_to_io + "node_base_ptr_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_ptr_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - wolf::NodeBasePtr nb; - - ASSERT_NO_THROW( xml_archive( nb ) ); - - ASSERT_EQ(nb->getCategory(), nb_class); - ASSERT_EQ(nb->getType(), nb_type); - ASSERT_EQ(nb->getName(), nb_name); - ASSERT_EQ(nb->nodeId(), id); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::NodeBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBasePtrXML !\n"); -} - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBaseJSON) -{ - { - wolf::NodeBase nb(nb_class, nb_type, nb_name); - - id = nb.nodeId(); - - std::ofstream os(path_to_io + "node_base_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::NodeBase blank("This guy has node_id = 1"); - wolf::NodeBase nb("SuperDummy"); - - ASSERT_NO_THROW( json_archive( nb ) ); - - ASSERT_EQ(nb.getCategory(), nb_class); - ASSERT_EQ(nb.getType(), nb_type); - ASSERT_EQ(nb.getName(), nb_name); - ASSERT_EQ(nb.nodeId(), id); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBaseJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBasePtrJSON) -{ - { - wolf::NodeBasePtr nb = std::make_shared<wolf::NodeBase>(nb_class, nb_type, nb_name); - - id = nb->nodeId(); - - std::ofstream os(path_to_io + "node_base_ptr_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_ptr_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::NodeBasePtr nb; - - ASSERT_NO_THROW( json_archive( nb ) ); - - ASSERT_EQ(nb->getCategory(), nb_class); - ASSERT_EQ(nb->getType(), nb_type); - ASSERT_EQ(nb->getName(), nb_name); - ASSERT_EQ(nb->nodeId(), id); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::NodeBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBasePtrJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBaseBinary) -{ - { - wolf::NodeBase nb(nb_class, nb_type, nb_name); - - id = nb.nodeId(); - - std::ofstream os(path_to_io + "node_base_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::NodeBase blank("This guy has node_id = 1"); - wolf::NodeBase nb("SuperDummy"); - - ASSERT_NO_THROW( bin_archive( nb ) ); - - ASSERT_EQ(nb.getCategory(), nb_class); - ASSERT_EQ(nb.getType(), nb_type); - ASSERT_EQ(nb.getName(), nb_name); - ASSERT_EQ(nb.nodeId(), id); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBaseBinary !\n"); -} - -TEST_F(WolfTestCerealSerializationNodeBase, CerealSerializationNodeBasePtrBinary) -{ - { - wolf::NodeBasePtr nb = std::make_shared<wolf::NodeBase>(nb_class, nb_type, nb_name); - - id = nb->nodeId(); - - std::ofstream os(path_to_io + "node_base_ptr_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "node_base_ptr_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::NodeBasePtr nb; - - ASSERT_NO_THROW( bin_archive( nb ) ); - - ASSERT_EQ(nb->getCategory(), nb_class); - ASSERT_EQ(nb->getType(), nb_type); - ASSERT_EQ(nb->getName(), nb_name); - ASSERT_EQ(nb->nodeId(), id); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::NodeBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationNodeBase::CerealSerializationNodeBasePtrBinary !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_processor_odom2d_params.cpp b/test/serialization/cereal/gtest_serialization_processor_odom2d_params.cpp deleted file mode 100644 index 89fbef3d69dff80688dd234b0cec3742233b9220..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_processor_odom2d_params.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_processor_odom2d_params.h" - -#include "../../../serialization/cereal/io.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationProcessorParamsOdom2D : public testing::Test -{ -public: - - WolfTestCerealSerializationProcessorParamsOdom2D() - { - nb_.name = "NAME"; - nb_.type = "ODOM 2D"; - - nb_.dist_traveled_th_ = 0.17; - nb_.theta_traveled_th_ = 0.3; - nb_.cov_det = 0.4; - nb_.elapsed_time_th_ = 1.5; - nb_.unmeasured_perturbation_std = 1e-5; - } - - const std::string path_to_io = "/tmp/"; - const std::string filename = "serialization_processor_odom2d_params"; - const std::string ptr_ext = "_ptr"; - - const std::vector<std::string> exts = {".bin", ".xml", ".json"}; - - wolf::ProcessorParamsOdom2D nb_; -}; - -TEST_F(WolfTestCerealSerializationProcessorParamsOdom2D, - CerealSerializationProcessorParamsOdom2D) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename + ext; - - ASSERT_NO_THROW( wolf::save( full_path, nb_ ) ) - << "Failed on saving " << full_path; - - wolf::ProcessorParamsOdom2D nb_load; - - ASSERT_NO_THROW( wolf::load( full_path, nb_load ) ) - << "Failed on loading " << full_path; - - ASSERT_EQ(nb_load.type, nb_.type) << full_path; - ASSERT_EQ(nb_load.name, nb_.name) << full_path; - ASSERT_EQ(nb_load.dist_traveled_th_, nb_.dist_traveled_th_) << full_path; - ASSERT_EQ(nb_load.theta_traveled_th_, nb_.theta_traveled_th_) << full_path; - ASSERT_EQ(nb_load.cov_det, nb_.cov_det) << full_path; - ASSERT_EQ(nb_load.unmeasured_perturbation_std, - nb_.unmeasured_perturbation_std) << full_path; - - /// Testing BasePtr - - const std::string ptr_full_path = path_to_io + filename + ptr_ext + ext; - - { - wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorParamsOdom2D>(nb_); - - ASSERT_NO_THROW( wolf::save( ptr_full_path, nb ) ) - << "Failed on saving " << ptr_full_path; - } - - { - wolf::ProcessorParamsBasePtr nb; - - ASSERT_NO_THROW( wolf::load( ptr_full_path, nb ) ) - << "Failed on loading " << ptr_full_path; - - wolf::ProcessorParamsOdom2DPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorParamsOdom2D>(nb); - - ASSERT_TRUE(nb_cast != nullptr) - << "Failed on casting " << ptr_full_path; - - ASSERT_EQ(nb_cast->type, nb_.type) << full_path; - ASSERT_EQ(nb_cast->name, nb_.name) << full_path; - ASSERT_EQ(nb_cast->dist_traveled_th_, nb_.dist_traveled_th_) << full_path; - ASSERT_EQ(nb_cast->theta_traveled_th_, nb_.theta_traveled_th_) << full_path; - ASSERT_EQ(nb_cast->cov_det, nb_.cov_det) << full_path; - ASSERT_EQ(nb_cast->unmeasured_perturbation_std, - nb_.unmeasured_perturbation_std) << full_path; - } - } - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorParamsOdom2D::" - "CerealSerializationProcessorParamsOdom2D !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp b/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp deleted file mode 100644 index 41b2ca2f1b9c9eb6671ed81b4b04b5d97fb847d1..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_processor_odom3d_params.cpp +++ /dev/null @@ -1,246 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_processor_odom3d_params.h" - -#include "../../../serialization/cereal/io.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationProcessorOdom3DParams : public testing::Test -{ -public: - - WolfTestCerealSerializationProcessorOdom3DParams() - { - nb_.name = "NAME"; - //nb_.type = "ODOM 3D"; - - nb_.max_time_span = 1.5; - nb_.max_buff_length = 55.; - nb_.dist_traveled = .25; - nb_.angle_turned = .17; - } - - const std::string path_to_io = "/tmp/"; - - wolf::ProcessorParamsOdom3D nb_; -}; - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorOdom3DParamsXML) -{ - const std::string filename(path_to_io + "params_odom3d_serialization.xml"); - - wolf::ProcessorParamsOdom3D nb_save; - nb_save.name = "NAME2"; - //nb_.type = "ODOM 3D"; - - nb_save.max_time_span = 2.5; - nb_save.max_buff_length = 52.; - nb_save.dist_traveled = .24; - nb_save.angle_turned = .18; - - ASSERT_NO_THROW( wolf::save( filename, nb_, nb_save, 10 ) ); - - { - wolf::ProcessorParamsOdom3D nb_load; - - ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); - - ASSERT_EQ(nb_load.type, nb_.type); - ASSERT_EQ(nb_load.name, nb_.name); - ASSERT_EQ(nb_load.max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_load.max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_load.dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_load.angle_turned, nb_.angle_turned); - - wolf::ProcessorParamsOdom3D nb_load0, nb_load1; - int myint; - ASSERT_NO_THROW( wolf::load( filename, nb_load0, nb_load1, myint ) ); - - ASSERT_EQ(nb_load0.type, nb_.type); - ASSERT_EQ(nb_load0.name, nb_.name); - ASSERT_EQ(nb_load0.max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_load0.max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_load0.dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_load0.angle_turned, nb_.angle_turned); - - ASSERT_EQ(nb_load1.type, nb_save.type); - ASSERT_EQ(nb_load1.name, nb_save.name); - ASSERT_EQ(nb_load1.max_time_span, nb_save.max_time_span); - ASSERT_EQ(nb_load1.max_buff_length, nb_save.max_buff_length); - ASSERT_EQ(nb_load1.dist_traveled, nb_save.dist_traveled); - ASSERT_EQ(nb_load1.angle_turned, nb_save.angle_turned); - - ASSERT_EQ(myint, 10); - } - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorOdom3DParamsXML !\n"); -} - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorParamsOdom3DPtrXML) -{ - const std::string filename(path_to_io + "params_odom3d_ptr_serialization.xml"); - - { - wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::ProcessorParamsBasePtr nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - wolf::ProcessorParamsOdom3DPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_cast->max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_cast->dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_cast->angle_turned, nb_.angle_turned); - } - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorParamsOdom3DPtrXML !\n"); -} - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorOdom3DParamsJSON) -{ - const std::string filename(path_to_io + "params_odom3d_serialization.json"); - - ASSERT_NO_THROW( wolf::save( filename, nb_ ) ); - - wolf::ProcessorParamsOdom3D nb_load; - - ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); - - ASSERT_EQ(nb_load.type, nb_.type); - ASSERT_EQ(nb_load.name, nb_.name); - ASSERT_EQ(nb_load.max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_load.max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_load.dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_load.angle_turned, nb_.angle_turned); - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorOdom3DParamsJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorParamsOdom3DPtrJSON) -{ - const std::string filename(path_to_io + "params_odom3d_ptr_serialization.json"); - - { - wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::ProcessorParamsBasePtr nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - wolf::ProcessorParamsOdom3DPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_cast->max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_cast->dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_cast->angle_turned, nb_.angle_turned); - } - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorParamsOdom3DPtrJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorOdom3DParamsBinary) -{ - const std::string filename(path_to_io + "params_odom3d_serialization.bin"); - - ASSERT_NO_THROW( wolf::save( filename, nb_ ) ); - - wolf::ProcessorParamsOdom3D nb_load; - - ASSERT_NO_THROW( wolf::load( filename, nb_load ) ); - - ASSERT_EQ(nb_load.type, nb_.type); - ASSERT_EQ(nb_load.name, nb_.name); - ASSERT_EQ(nb_load.max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_load.max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_load.dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_load.angle_turned, nb_.angle_turned); - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorOdom3DParamsBinary !\n"); -} - -TEST_F(WolfTestCerealSerializationProcessorOdom3DParams, - CerealSerializationProcessorParamsOdom3DPtrBinary) -{ - const std::string filename(path_to_io + "params_odom3d_ptr_serialization.bin"); - - { - wolf::ProcessorParamsBasePtr nb = - std::make_shared<wolf::ProcessorParamsOdom3D>(nb_); - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::ProcessorParamsBasePtr nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - wolf::ProcessorParamsOdom3DPtr nb_cast = - std::dynamic_pointer_cast<wolf::ProcessorParamsOdom3D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->max_time_span, nb_.max_time_span); - ASSERT_EQ(nb_cast->max_buff_length, nb_.max_buff_length); - ASSERT_EQ(nb_cast->dist_traveled, nb_.dist_traveled); - ASSERT_EQ(nb_cast->angle_turned, nb_.angle_turned); - } - - PRINTF("All good at " - "WolfTestCerealSerializationProcessorOdom3DParams::" - "CerealSerializationProcessorParamsOdom3DPtrBinary !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_save_load.cpp b/test/serialization/cereal/gtest_serialization_save_load.cpp deleted file mode 100644 index 23241af4887a43db6d48f027b30481e3408ade49..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_save_load.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/io.h" -#include "../../../serialization/cereal/serialization_sensor_odom2d_intrinsic.h" - -#include "../../../serialization/cereal/archives.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -namespace wolf { - -using IntrinsicsOdom2DPtr = std::shared_ptr<IntrinsicsOdom2D>; - -} - -class WolfTestCerealSerializationSaveLoad : public testing::Test -{ -public: - - WolfTestCerealSerializationSaveLoad() - { - // - } - - const std::string path_to_io = "/tmp/"; - - decltype(std::declval<wolf::IntrinsicsOdom2D>().type) nb_type = "TYPE"; - decltype(std::declval<wolf::IntrinsicsOdom2D>().name) nb_name = "NAME"; - decltype(std::declval<wolf::IntrinsicsOdom2D>().k_disp_to_disp) nb_k_disp_to_disp = 0.54; - decltype(std::declval<wolf::IntrinsicsOdom2D>().k_rot_to_rot) nb_k_rot_to_rot = 0.18; -}; - -TEST_F(WolfTestCerealSerializationSaveLoad, CerealSerializationSaveLoadExtension) -{ - const std::string xml = "/test/filename.xml"; - const std::string bin = "/test/filename.bin"; - const std::string json = "/test/filename.json"; - - ASSERT_EQ(wolf::serialization::extension(xml), ".xml"); - ASSERT_EQ(wolf::serialization::extension(bin), ".bin"); - ASSERT_EQ(wolf::serialization::extension(json), ".json"); -} - -TEST_F(WolfTestCerealSerializationSaveLoad, - CerealSerializationSaveLoadXML) -{ - const std::string filename = path_to_io + "save_load_serialization.xml"; - - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_type; - nb.name = nb_name; - nb.k_disp_to_disp = nb_k_disp_to_disp; - nb.k_rot_to_rot = nb_k_rot_to_rot; - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - ASSERT_EQ(nb.k_disp_to_disp, nb_k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationSaveLoad::" - "CerealSerializationSaveLoadXML !\n"); -} - -TEST_F(WolfTestCerealSerializationSaveLoad, - CerealSerializationSaveLoadJSON) -{ - const std::string filename = path_to_io + "save_load_serialization.json"; - - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_type; - nb.name = nb_name; - nb.k_disp_to_disp = nb_k_disp_to_disp; - nb.k_rot_to_rot = nb_k_rot_to_rot; - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - ASSERT_EQ(nb.k_disp_to_disp, nb_k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationSaveLoad::" - "CerealSerializationSaveLoadJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationSaveLoad, - CerealSerializationSaveLoadBinary) -{ - const std::string filename = path_to_io + "save_load_serialization.bin"; - - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_type; - nb.name = nb_name; - nb.k_disp_to_disp = nb_k_disp_to_disp; - nb.k_rot_to_rot = nb_k_rot_to_rot; - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - ASSERT_EQ(nb.k_disp_to_disp, nb_k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationSaveLoad::" - "CerealSerializationSaveLoadBinary !\n"); -} - -TEST_F(WolfTestCerealSerializationSaveLoad, - CerealSerializationSaveLoadNoExt) -{ - const std::string filename = path_to_io + "save_load_serialization_no_ext"; - - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_type; - nb.name = nb_name; - nb.k_disp_to_disp = nb_k_disp_to_disp; - nb.k_rot_to_rot = nb_k_rot_to_rot; - - ASSERT_NO_THROW( wolf::save( filename, nb ) ); - } - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( wolf::load( filename, nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - ASSERT_EQ(nb.k_disp_to_disp, nb_k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationSaveLoad::" - "CerealSerializationSaveLoadNoExt !\n"); -} - -TEST_F(WolfTestCerealSerializationSaveLoad, - CerealSerializationSaveLoadUnknownExt) -{ - const std::string filename = path_to_io + "save_load_serialization.foo"; - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_THROW( wolf::save( filename, nb ), std::runtime_error ); - } - - { - wolf::IntrinsicsOdom2D nb; - - ASSERT_THROW( wolf::load( filename, nb ), std::runtime_error ); - } - - PRINTF("All good at " - "WolfTestCerealSerializationSaveLoad::" - "CerealSerializationSaveLoadUnknownExt !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_sensor_intrinsic_base.cpp b/test/serialization/cereal/gtest_serialization_sensor_intrinsic_base.cpp deleted file mode 100644 index a8a67dc1977d184a91a26cae2420f1a04ef5a0ee..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_sensor_intrinsic_base.cpp +++ /dev/null @@ -1,233 +0,0 @@ -/* - * gtest_intrinsics_base_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_sensor_intrinsic_base.h" - -#include "../../../serialization/cereal/archives.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationIntrinsicsBase : public testing::Test -{ -public: - - WolfTestCerealSerializationIntrinsicsBase() - { - // - } - - const std::string path_to_io = "/tmp/"; - - decltype(std::declval<wolf::IntrinsicsBase>().type) nb_type = "TYPE"; - decltype(std::declval<wolf::IntrinsicsBase>().name) nb_name = "NAME"; -}; - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, - CerealSerializationIntrinsicsBaseXML) -{ - { - wolf::IntrinsicsBase nb; - nb.type = nb_type; - nb.name = nb_name; - - std::ofstream os(path_to_io + "intrinsics_base_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - wolf::IntrinsicsBase nb; - - ASSERT_NO_THROW( xml_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBaseXML !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, - CerealSerializationIntrinsicsBasePtrXML) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsBase>(); - nb->name = nb_name; - nb->type = nb_type; - - std::ofstream os(path_to_io + "intrinsics_base_ptr_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_ptr_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( xml_archive( nb ) ); - - ASSERT_EQ(nb->type, nb_type); - ASSERT_EQ(nb->name, nb_name); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::IntrinsicsBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBasePtrXML !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, - CerealSerializationIntrinsicsBaseJSON) -{ - { - wolf::IntrinsicsBase nb; - nb.type = nb_type; - nb.name = nb_name; - - std::ofstream os(path_to_io + "intrinsics_base_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::IntrinsicsBase nb; - - ASSERT_NO_THROW( json_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBaseJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, - CerealSerializationIntrinsicsBasePtrJSON) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsBase>(); - nb->name = nb_name; - nb->type = nb_type; - - std::ofstream os(path_to_io + "intrinsics_base_ptr_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_ptr_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( json_archive( nb ) ); - - ASSERT_EQ(nb->type, nb_type); - ASSERT_EQ(nb->name, nb_name); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::IntrinsicsBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBasePtrJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, - CerealSerializationIntrinsicsBaseBinary) -{ - { - wolf::IntrinsicsBase nb; - nb.type = nb_type; - nb.name = nb_name; - - std::ofstream os(path_to_io + "intrinsics_base_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::IntrinsicsBase nb; - - ASSERT_NO_THROW( bin_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_type); - ASSERT_EQ(nb.name, nb_name); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBaseBinary !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsBase, CerealSerializationIntrinsicsBasePtrBinary) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsBase>(); - nb->name = nb_name; - nb->type = nb_type; - - std::ofstream os(path_to_io + "intrinsics_base_ptr_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_base_ptr_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( bin_archive( nb ) ); - - ASSERT_EQ(nb->type, nb_type); - ASSERT_EQ(nb->name, nb_name); - - ASSERT_TRUE( - std::dynamic_pointer_cast< - wolf::IntrinsicsBase>(nb) != nullptr); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsBase::" - "CerealSerializationIntrinsicsBasePtrBinary !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_sensor_odom2d_intrinsic.cpp b/test/serialization/cereal/gtest_serialization_sensor_odom2d_intrinsic.cpp deleted file mode 100644 index c5891c3d91d020293937236e582535ddd2e2beaf..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_sensor_odom2d_intrinsic.cpp +++ /dev/null @@ -1,256 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_sensor_odom2d_intrinsic.h" - -#include "../../../serialization/cereal/archives.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -namespace wolf { - -using IntrinsicsOdom2DPtr = std::shared_ptr<IntrinsicsOdom2D>; - -} - -class WolfTestCerealSerializationIntrinsicsOdom2D : public testing::Test -{ -public: - - WolfTestCerealSerializationIntrinsicsOdom2D() - { - nb_.k_disp_to_disp = 0.54; - nb_.k_rot_to_rot = 0.18; - nb_.name = "NAME"; - nb_.type = "TYPE"; - } - - const std::string path_to_io = "/tmp/"; - - wolf::IntrinsicsOdom2D nb_; -}; - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, - CerealSerializationIntrinsicsOdom2DXML) -{ - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_.type; - nb.name = nb_.name; - nb.k_disp_to_disp = nb_.k_disp_to_disp; - nb.k_rot_to_rot = nb_.k_rot_to_rot; - - std::ofstream os(path_to_io + "intrinsics_odom2d_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( xml_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_.type); - ASSERT_EQ(nb.name, nb_.name); - ASSERT_EQ(nb.k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DXML !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, - CerealSerializationIntrinsicsOdom2DPtrXML) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsOdom2D>(nb_); - - std::ofstream os(path_to_io + "intrinsics_odom2d_ptr_serialization.xml"); - cereal::XMLOutputArchive xml_archive(os); - - ASSERT_NO_THROW( xml_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_ptr_serialization.xml"); - cereal::XMLInputArchive xml_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( xml_archive( nb ) ); - - wolf::IntrinsicsOdom2DPtr nb_cast = - std::dynamic_pointer_cast<wolf::IntrinsicsOdom2D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb_cast->k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DPtrXML !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, - CerealSerializationIntrinsicsOdom2DJSON) -{ - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_.type; - nb.name = nb_.name; - nb.k_disp_to_disp = nb_.k_disp_to_disp; - nb.k_rot_to_rot = nb_.k_rot_to_rot; - - std::ofstream os(path_to_io + "intrinsics_odom2d_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( json_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_.type); - ASSERT_EQ(nb.name, nb_.name); - ASSERT_EQ(nb.k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, - CerealSerializationIntrinsicsOdom2DPtrJSON) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsOdom2D>(nb_); - - std::ofstream os(path_to_io + "intrinsics_odom2d_ptr_serialization.json"); - cereal::JSONOutputArchive json_archive(os); - - ASSERT_NO_THROW( json_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_ptr_serialization.json"); - cereal::JSONInputArchive json_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( json_archive( nb ) ); - - wolf::IntrinsicsOdom2DPtr nb_cast = - std::dynamic_pointer_cast<wolf::IntrinsicsOdom2D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb_cast->k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DPtrJSON !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, - CerealSerializationIntrinsicsOdom2DBinary) -{ - { - wolf::IntrinsicsOdom2D nb; - nb.type = nb_.type; - nb.name = nb_.name; - nb.k_disp_to_disp = nb_.k_disp_to_disp; - nb.k_rot_to_rot = nb_.k_rot_to_rot; - - std::ofstream os(path_to_io + "intrinsics_odom2d_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::IntrinsicsOdom2D nb; - - ASSERT_NO_THROW( bin_archive( nb ) ); - - ASSERT_EQ(nb.type, nb_.type); - ASSERT_EQ(nb.name, nb_.name); - ASSERT_EQ(nb.k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb.k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DBinary !\n"); -} - -TEST_F(WolfTestCerealSerializationIntrinsicsOdom2D, CerealSerializationIntrinsicsOdom2DPtrBinary) -{ - { - wolf::IntrinsicsBasePtr nb = std::make_shared<wolf::IntrinsicsOdom2D>(nb_); - - std::ofstream os(path_to_io + "intrinsics_odom2d_ptr_serialization.bin"); - cereal::BinaryOutputArchive bin_archive(os); - - ASSERT_NO_THROW( bin_archive( nb ) ); - } - - { - std::ifstream is(path_to_io + "intrinsics_odom2d_ptr_serialization.bin"); - cereal::BinaryInputArchive bin_archive(is); - - wolf::IntrinsicsBasePtr nb; - - ASSERT_NO_THROW( bin_archive( nb ) ); - - wolf::IntrinsicsOdom2DPtr nb_cast = - std::dynamic_pointer_cast<wolf::IntrinsicsOdom2D>(nb); - - ASSERT_TRUE(nb_cast != nullptr); - - ASSERT_EQ(nb_cast->type, nb_.type); - ASSERT_EQ(nb_cast->name, nb_.name); - ASSERT_EQ(nb_cast->k_disp_to_disp, nb_.k_disp_to_disp); - ASSERT_EQ(nb_cast->k_rot_to_rot, nb_.k_rot_to_rot); - } - - PRINTF("All good at " - "WolfTestCerealSerializationIntrinsicsOdom2D::" - "CerealSerializationIntrinsicsOdom2DPtrBinary !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/serialization/cereal/gtest_serialization_time_stamp.cpp b/test/serialization/cereal/gtest_serialization_time_stamp.cpp deleted file mode 100644 index 8dc4cd479ad8c3986fbd4286899ab1081b1a9af0..0000000000000000000000000000000000000000 --- a/test/serialization/cereal/gtest_serialization_time_stamp.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - * gtest_intrinsics_odom2d_serialization.cpp - * - * Created on: Jul 16, 2017 - * Author: Jeremie Deray - */ - -#include "../../utils_gtest.h" - -#include "../../../serialization/cereal/serialization_time_stamp.h" - -#include "../../../serialization/cereal/io.h" - -#include <cereal/types/memory.hpp> -#include <fstream> - -class WolfTestCerealSerializationTimeStamp : public testing::Test -{ -public: - - WolfTestCerealSerializationTimeStamp() - { - nb_.setToNow(); - } - - const std::string path_to_io = "/tmp/"; - const std::string filename = "serialization_time_stamp"; - const std::string ptr_ext = "_ptr"; - - const std::vector<std::string> exts = {".bin", ".xml", ".json"}; - - wolf::TimeStamp nb_; -}; - -TEST_F(WolfTestCerealSerializationTimeStamp, - CerealSerializationTimeStamp) -{ - for (const auto ext : exts) - { - const std::string full_path = path_to_io + filename + ext; - - ASSERT_NO_THROW( wolf::save( full_path, nb_ ) ) - << "Failed on saving " << full_path; - - wolf::TimeStamp nb_load; - - ASSERT_NO_THROW( wolf::load( full_path, nb_load ) ) - << "Failed on loading " << full_path; - - ASSERT_EQ(nb_load, nb_) << full_path; - } - - PRINTF("All good at " - "WolfTestCerealSerializationTimeStamp::" - "CerealSerializationTimeStamp !\n"); -} - -int main(int argc, char **argv) -{ - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -}