#pragma once
#include <rust/cxx.h>
#include <string>
#include "maliput/api/road_network.h"
#include "maliput/utility/generate_obj.h"
#include "maliput-sys/src/utility/mod.rs.h"
namespace maliput {
namespace utility {
void Utility_GenerateObjFile(const maliput::api::RoadNetwork* road_network,
const rust::String& dirpath,
const rust::String& fileroot,
const Features& features) {
ObjFeatures obj_features{};
obj_features.max_grid_unit = features.max_grid_unit;
obj_features.min_grid_resolution = features.min_grid_resolution;
obj_features.draw_stripes = features.draw_stripes;
obj_features.draw_arrows = features.draw_arrows;
obj_features.draw_lane_haze = features.draw_lane_haze;
obj_features.draw_branch_points = features.draw_branch_points;
obj_features.draw_elevation_bounds = features.draw_elevation_bounds;
obj_features.off_grid_mesh_generation = features.off_grid_mesh_generation;
obj_features.simplify_mesh_threshold = features.simplify_mesh_threshold;
obj_features.stripe_width = features.stripe_width;
obj_features.stripe_elevation = features.stripe_elevation;
obj_features.arrow_elevation = features.arrow_elevation;
obj_features.lane_haze_elevation = features.lane_haze_elevation;
obj_features.branch_point_elevation = features.branch_point_elevation;
obj_features.branch_point_height = features.branch_point_height;
obj_features.origin = api::InertialPosition{features.origin[0], features.origin[1], features.origin[2]};
maliput::utility::GenerateObjFile(road_network, std::string(dirpath),
std::string(fileroot), obj_features);
}
} }