#include #ifdef LARDON3D_ACQUISITION_CAMPAIGN_TASK_AVAILABLE #include #endif #include #ifdef LARDON3D_PHOTO_QUALITY_TASK_AVAILABLE #include #endif #include #include #include #include #include #ifdef LARDON3D_TRACK_BUILDER_TASK_AVAILABLE #include #endif #ifdef LARDON3D_SPARSE_SFM_TASK_AVAILABLE #include #endif #ifdef LARDON3D_INCREMENTAL_RECONSTRUCTION_TASK_AVAILABLE #include #endif #include const Lardon3DTaskKindRegistry *lardon3d_task_kind_registry_production(void) { static const Lardon3DTaskKindDescriptor descriptors[] = { #ifdef LARDON3D_PHOTO_QUALITY_TASK_AVAILABLE { .kind = LARDON3D_PHOTO_QUALITY_TASK_KIND, .kind_version = LARDON3D_PHOTO_QUALITY_TASK_KIND_VERSION, .reconstruct = lardon3d_photo_quality_task_reconstruct, }, #endif #ifdef LARDON3D_ACQUISITION_CAMPAIGN_TASK_AVAILABLE { .kind = LARDON3D_ACQUISITION_CAMPAIGN_TASK_KIND, .kind_version = LARDON3D_ACQUISITION_CAMPAIGN_TASK_KIND_VERSION, .reconstruct = lardon3d_acquisition_campaign_task_reconstruct, }, #endif { .kind = LARDON3D_IMAGE_IMPORT_TASK_KIND, .kind_version = LARDON3D_IMAGE_IMPORT_TASK_KIND_VERSION, .reconstruct = lardon3d_image_import_reconstruct, }, { .kind = LARDON3D_FEATURE_EXTRACT_TASK_KIND, .kind_version = LARDON3D_FEATURE_EXTRACT_TASK_KIND_VERSION, .reconstruct = lardon3d_feature_extract_reconstruct, }, { .kind = LARDON3D_SIFT_EXTRACT_TASK_KIND, .kind_version = LARDON3D_SIFT_EXTRACT_TASK_KIND_VERSION, .reconstruct = lardon3d_sift_extract_reconstruct, }, { .kind = LARDON3D_ROOTSIFT_EXTRACT_TASK_KIND, .kind_version = LARDON3D_SIFT_EXTRACT_TASK_KIND_VERSION, .reconstruct = lardon3d_sift_extract_reconstruct, }, { .kind = LARDON3D_VISUAL_INDEX_UPDATE_TASK_KIND, .kind_version = LARDON3D_VISUAL_INDEX_UPDATE_TASK_KIND_VERSION, .reconstruct = lardon3d_visual_index_update_reconstruct, }, { .kind = LARDON3D_CANDIDATE_PAIR_GENERATE_TASK_KIND, .kind_version = LARDON3D_CANDIDATE_PAIR_GENERATE_TASK_KIND_VERSION, .reconstruct = lardon3d_candidate_pair_generate_reconstruct, }, { .kind = LARDON3D_MATCHER_TASK_KIND, .kind_version = LARDON3D_MATCHER_TASK_KIND_VERSION, .reconstruct = lardon3d_matcher_task_reconstruct, }, { .kind = LARDON3D_GEOMETRIC_VERIFIER_TASK_KIND, .kind_version = LARDON3D_GEOMETRIC_VERIFIER_TASK_KIND_VERSION, .reconstruct = lardon3d_geometric_verifier_task_reconstruct, }, #ifdef LARDON3D_TRACK_BUILDER_TASK_AVAILABLE { .kind = LARDON3D_TRACK_BUILDER_TASK_KIND, .kind_version = LARDON3D_TRACK_BUILDER_TASK_KIND_VERSION, .reconstruct = lardon3d_track_builder_task_reconstruct, }, #endif #ifdef LARDON3D_SPARSE_SFM_TASK_AVAILABLE { .kind = LARDON3D_SPARSE_SFM_TASK_KIND, .kind_version = LARDON3D_SPARSE_SFM_TASK_KIND_VERSION, .reconstruct = lardon3d_sparse_sfm_task_reconstruct, }, #endif #ifdef LARDON3D_INCREMENTAL_RECONSTRUCTION_TASK_AVAILABLE { .kind = LARDON3D_INCREMENTAL_RECONSTRUCTION_TASK_KIND, .kind_version = LARDON3D_INCREMENTAL_RECONSTRUCTION_TASK_KIND_VERSION, .reconstruct = lardon3d_incremental_reconstruction_task_reconstruct, }, #endif }; static const Lardon3DTaskKindRegistry registry = { .descriptors = descriptors, .count = sizeof(descriptors) / sizeof(descriptors[0]), }; return ®istry; }