Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion meshroom/aliceVision/ConvertSfMFormat.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class ConvertSfMFormat(desc.AVCommandLineNode):
label="SfM File Format",
description="Output SfM file format.",
value="abc",
values=["abc", "sfm", "json", "ply", "baf"],
values=["abc", "sfm", "json", "ply", "baf", "fbd"],
group="", # exclude from command line
),
desc.ChoiceParam(
Expand Down
13 changes: 13 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,18 @@ if (ALICEVISION_BUILD_SFM)
)
endif()

# ==============================================================================
# FlatBuffers
# ==============================================================================
include (FetchContent)
FetchContent_Declare(
flatbuffers
GIT_REPOSITORY https://github.com/google/flatbuffers.git
GIT_TAG v25.2.10
)
FetchContent_MakeAvailable(flatbuffers)


# ==============================================================================
# Eigen
# ==============================================================================
Expand Down Expand Up @@ -550,6 +562,7 @@ if (ALICEVISION_BUILD_SFM)
endif()
endif()


# ==============================================================================
# Alembic
# ==============================================================================
Expand Down
3 changes: 3 additions & 0 deletions src/aliceVision/camera/Distortion.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ namespace camera {
*/
class Distortion
{
public:
using sptr = std::shared_ptr<Distortion>;

public:
Distortion() = default;

Expand Down
8 changes: 8 additions & 0 deletions src/aliceVision/camera/Undistortion.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ namespace camera {
class Undistortion
{
public:
using sptr = std::shared_ptr<Undistortion>;
public:

Undistortion(int width, int height)
{
_pixelAspectRatio = 1.0;
Expand Down Expand Up @@ -67,6 +70,11 @@ class Undistortion

void setOffset(const Vec2& offset) { _offset = offset; }

void setSize(const Vec2& size)
{
setSize(size.x(), size.y());
}

void setSize(int width, int height)
{
double hh = height;
Expand Down
5 changes: 4 additions & 1 deletion src/aliceVision/sfmData/ImageInfo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ namespace aliceVision {
namespace sfmData {

class ImageInfo
{
{
public:
using sptr = std::shared_ptr<ImageInfo>;

public:
/**
* @brief Image Constructor
Expand Down
12 changes: 12 additions & 0 deletions src/aliceVision/sfmData/View.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,24 @@ class View
*/
ImageInfo& getImage() { return *_image; }

/**
* @brief Get Image info pointer
* @return a shared pointer
*/
const std::shared_ptr<ImageInfo> getImageInfo() const { return _image; }

/**
* @brief Get Image info pointer
* @return a shared pointer
*/
std::shared_ptr<ImageInfo> getImageInfo() { return _image; }

/**
* @brief Set Image info object
* @param image the new imageInfo to use
*/
void setImageInfo(std::shared_ptr<ImageInfo> & image) { _image = image; }

/**
* @brief Get the view id
* @return view id
Expand Down
42 changes: 41 additions & 1 deletion src/aliceVision/sfmDataIO/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ set(sfmDataIO_files_headers
plyIO.hpp
viewIO.hpp
sceneSample.hpp
FlatBuffersIO.hpp
MappedFile.hpp
)

# Sources
Expand All @@ -22,6 +24,8 @@ set(sfmDataIO_files_sources
plyIO.cpp
viewIO.cpp
sceneSample.cpp
FlatBuffersIO.cpp
MappedFile.cpp
)

if (ALICEVISION_HAVE_ALEMBIC)
Expand All @@ -37,6 +41,42 @@ if (ALICEVISION_HAVE_ALEMBIC)
)
endif()

list (APPEND FLATBUFFERS_SCHEMA_FILES
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Vec.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Rig.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/CameraPose.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Observation.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Landmark.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Image.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/View.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Intrinsic.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Distortion.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Undistortion.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/SurveyPoint.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/SfmData.fbs
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas/Root.fbs
)

list (APPEND FLATBUFFERS_SCHEMA_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/FlatBuffersIO/schemas
)

build_flatbuffers(
"${FLATBUFFERS_SCHEMA_FILES}"
"${FLATBUFFERS_SCHEMA_INCLUDE_DIRS}"
"fbschemas"
""
"${generatedDir}"
"${generatedDir}"
"${generatedDir}"
)

set (FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS "--gen-object-api")
add_library(FlatBuffersTarget INTERFACE)
target_include_directories(FlatBuffersTarget INTERFACE ${flatbuffers_SOURCE_DIR}/include)
add_dependencies(FlatBuffersTarget fbschemas)


alicevision_add_library(aliceVision_sfmDataIO
SOURCES ${sfmDataIO_files_headers} ${sfmDataIO_files_sources}
PUBLIC_LINKS
Expand All @@ -47,9 +87,9 @@ alicevision_add_library(aliceVision_sfmDataIO
aliceVision_image
Boost::regex
Boost::boost
FlatBuffersTarget
)


if (ALICEVISION_HAVE_ALEMBIC)
target_link_libraries(aliceVision_sfmDataIO
PRIVATE Alembic::Alembic
Expand Down
Loading
Loading