pub mod camera;
pub mod image;
pub mod feature;
pub mod point3d;
pub mod pose;
pub mod reconstruction;
pub use camera::*;
pub use image::*;
pub use feature::*;
pub use point3d::*;
pub use pose::*;
pub use reconstruction::*;
#[derive(Debug, thiserror::Error)]
pub enum ColmapError {
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("Image processing error: {0}")]
ImageProcessing(String),
#[error("Feature extraction failed: {0}")]
FeatureExtraction(String),
#[error("Feature matching failed: {0}")]
FeatureMatching(String),
#[error("SfM reconstruction failed: {0}")]
SfmReconstruction(String),
#[error("MVS reconstruction failed: {0}")]
MvsReconstruction(String),
#[error("Mathematical computation error: {0}")]
Math(String),
#[error("Configuration error: {0}")]
Config(String),
#[error("Invalid parameter: {0}")]
InvalidParameter(String),
#[error("Camera calibration error: {0}")]
CameraCalibration(String),
#[error("Triangulation failed: {0}")]
Triangulation(String),
#[error("Bundle adjustment failed: {0}")]
BundleAdjustment(String),
#[error("Database error: {0}")]
Database(String),
#[error("Serialization error: {0}")]
Serialization(String),
#[error("GPU error: {0}")]
Gpu(String),
#[error("Out of memory: {0}")]
OutOfMemory(String),
#[error("Not implemented: {0}")]
NotImplemented(String),
}
pub type Result<T> = std::result::Result<T, ColmapError>;
pub type Vector2 = nalgebra::Vector2<f64>;
pub type Vector3 = nalgebra::Vector3<f64>;
pub type Point2 = nalgebra::Point2<f64>;
pub type Point3 = nalgebra::Point3<f64>;
pub type Matrix3 = nalgebra::Matrix3<f64>;
pub type Matrix4 = nalgebra::Matrix4<f64>;
pub type Quaternion = nalgebra::UnitQuaternion<f64>;
pub type Isometry3 = nalgebra::Isometry3<f64>;