FDL Core Library
ASC Framing Decision List — C/C++ Reference Implementation
Loading...
Searching...
No Matches
fdl_geometry.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2024-present American Society Of Cinematographers
2// SPDX-License-Identifier: Apache-2.0
10#ifndef FDL_GEOMETRY_INTERNAL_H
11#define FDL_GEOMETRY_INTERNAL_H
12
13#include "fdl/fdl_core.h"
14
15namespace fdl::detail {
16
28
38 fdl_geometry_t geo, double source_squeeze, double scale_factor, double target_squeeze);
39
47
63 fdl_point_f64_t offset,
64 fdl_point_f64_t* theo_eff,
65 fdl_point_f64_t* theo_prot,
66 fdl_point_f64_t* theo_fram);
67
80 fdl_geometry_t geo, fdl_point_f64_t theo_eff, fdl_point_f64_t theo_prot, fdl_point_f64_t theo_fram);
81
92
93} // namespace fdl::detail
94
95#endif // FDL_GEOMETRY_INTERNAL_H
Public C ABI for the FDL (Framing Decision List) core library.
uint32_t fdl_geometry_path_t
Geometry path — selects a dimension layer within the FDL hierarchy.
Definition fdl_core.h:144
fdl_geometry_t geometry_crop(fdl_geometry_t geo, fdl_point_f64_t theo_eff, fdl_point_f64_t theo_prot, fdl_point_f64_t theo_fram)
Crop all dimensions to visible portion within canvas.
Definition fdl_geometry.cpp:215
fdl_geometry_t geometry_apply_offset(fdl_geometry_t geo, fdl_point_f64_t offset, fdl_point_f64_t *theo_eff, fdl_point_f64_t *theo_prot, fdl_point_f64_t *theo_fram)
Apply offset to all anchors, clamping to canvas bounds.
Definition fdl_geometry.cpp:148
int geometry_get_dims_anchor_from_path(const fdl_geometry_t *geo, fdl_geometry_path_t path, fdl_dimensions_f64_t *out_dims, fdl_point_f64_t *out_anchor)
Extract dimensions and anchor from geometry by path.
Definition fdl_geometry.cpp:248
fdl_geometry_t geometry_normalize_and_scale(fdl_geometry_t geo, double source_squeeze, double scale_factor, double target_squeeze)
Normalize and scale all 7 fields (4 dimensions + 3 anchors) of the geometry.
Definition fdl_geometry.cpp:121
fdl_geometry_t geometry_round(fdl_geometry_t geo, fdl_round_strategy_t strategy)
Round all 7 fields of the geometry using the given strategy.
Definition fdl_geometry.cpp:135
fdl_geometry_t geometry_fill_hierarchy_gaps(fdl_geometry_t geo, fdl_point_f64_t anchor_offset)
Fill gaps in the geometry hierarchy by propagating populated dimensions upward.
Definition fdl_geometry.cpp:57
std::string path
Geometry path that produced this entry.
Definition fdl_validate.cpp:335
Floating-point dimensions (used during computation).
Definition fdl_core.h:94
Geometry container for FDL template transformation processing.
Definition fdl_core.h:175
2D point in floating-point coordinates.
Definition fdl_core.h:100
Rounding strategy combining even-snap and direction mode.
Definition fdl_core.h:186