Struct re_components::Pinhole
source · pub struct Pinhole {
pub image_from_cam: Mat3x3,
pub resolution: Option<Vec2D>,
}
Expand description
Camera perspective projection (a.k.a. intrinsics).
This component is a “mono-component”. See the crate level docs for details.
use re_components::Pinhole;
use arrow2_convert::field::ArrowField;
use arrow2::datatypes::{DataType, Field};
assert_eq!(
Pinhole::data_type(),
DataType::Struct(vec![
Field::new(
"image_from_cam",
DataType::FixedSizeList(
Box::new(Field::new("item", DataType::Float32, false)),
9
),
false,
),
Field::new(
"resolution",
DataType::FixedSizeList(
Box::new(Field::new("item", DataType::Float32, false)),
2
),
true,
),
]),
);
Fields§
§image_from_cam: Mat3x3
Column-major projection matrix.
Child from parent. Image coordinates from camera view coordinates.
Example:
[[1496.1, 0.0, 0.0], // col 0
[0.0, 1496.1, 0.0], // col 1
[980.5, 744.5, 1.0]] // col 2
resolution: Option<Vec2D>
Pixel resolution (usually integers) of child image space. Width and height.
Example:
[1920.0, 1440.0]
Self::image_from_cam
project onto the space spanned by (0,0)
and resolution - 1
.
Implementations§
source§impl Pinhole
impl Pinhole
sourcepub fn fov_y(&self) -> Option<f32>
pub fn fov_y(&self) -> Option<f32>
Field of View on the Y axis, i.e. the angle between top and bottom (in radians).
sourcepub fn focal_length_in_pixels(&self) -> Vec2D
pub fn focal_length_in_pixels(&self) -> Vec2D
X & Y focal length in pixels.
sourcepub fn focal_length(&self) -> Option<f32>
pub fn focal_length(&self) -> Option<f32>
Focal length.
sourcepub fn principal_point(&self) -> Vec2
pub fn principal_point(&self) -> Vec2
Principal point of the pinhole camera, i.e. the intersection of the optical axis and the image plane.
pub fn resolution(&self) -> Option<Vec2>
pub fn aspect_ratio(&self) -> Option<f32>
Trait Implementations§
source§impl ArrowDeserialize for Pinhole
impl ArrowDeserialize for Pinhole
source§impl ArrowField for Pinhole
impl ArrowField for Pinhole
source§impl ArrowSerialize for Pinhole
impl ArrowSerialize for Pinhole
§type MutableArrayType = MutablePinholeArray
type MutableArrayType = MutablePinholeArray
The
arrow2::array::MutableArray
that holds this valuesource§fn new_array() -> Self::MutableArrayType
fn new_array() -> Self::MutableArrayType
Create a new mutable array
source§fn arrow_serialize(v: &Self, array: &mut Self::MutableArrayType) -> Result<()>
fn arrow_serialize(v: &Self, array: &mut Self::MutableArrayType) -> Result<()>
Serialize this field to arrow
source§impl<'de> Deserialize<'de> for Pinhole
impl<'de> Deserialize<'de> for Pinhole
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl LegacyComponent for Pinhole
impl LegacyComponent for Pinhole
source§fn legacy_name() -> ComponentName
fn legacy_name() -> ComponentName
The name of the component.
source§impl Loggable for Pinhole
impl Loggable for Pinhole
type Name = ComponentName
type Item<'a> = <&'a <Pinhole as ArrowDeserialize>::ArrayType as IntoIterator>::Item
type Iter<'a> = <&'a <Pinhole as ArrowDeserialize>::ArrayType as IntoIterator>::IntoIter
source§fn name() -> Self::Name
fn name() -> Self::Name
The fully-qualified name of this loggable, e.g.
rerun.datatypes.Vec2D
.source§fn to_arrow_datatype() -> DataType
fn to_arrow_datatype() -> DataType
The underlying
arrow2::datatypes::DataType
.source§fn try_to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
_extension_wrapper: Option<&str>
) -> SerializationResult<Box<dyn Array>>where
Self: Clone + 'a,
fn try_to_arrow_opt<'a>( data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>, _extension_wrapper: Option<&str> ) -> SerializationResult<Box<dyn Array>>where Self: Clone + 'a,
Given an iterator of options of owned or reference values to the current
Loggable
, serializes them into an Arrow array.
The Arrow array’s datatype will match Loggable::to_arrow_datatype
. Read moresource§fn try_iter_from_arrow(
data: &dyn Array
) -> DeserializationResult<Self::Iter<'_>>where
Self: Sized,
fn try_iter_from_arrow( data: &dyn Array ) -> DeserializationResult<Self::Iter<'_>>where Self: Sized,
Given an Arrow array, deserializes it into a iterator of
Loggable::Item
s. Read moresource§fn convert_item_to_self(item: Self::Item<'_>) -> Option<Self>
fn convert_item_to_self(item: Self::Item<'_>) -> Option<Self>
source§fn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
extension_wrapper: Option<&str>
) -> Box<dyn Array, Global>where
Self: Clone + 'a,
fn to_arrow<'a>( data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>, extension_wrapper: Option<&str> ) -> Box<dyn Array, Global>where Self: Clone + 'a,
Given an iterator of owned or reference values to the current
Loggable
, serializes
them into an Arrow array.
The Arrow array’s datatype will match Loggable::to_arrow_datatype
. Read moresource§fn try_to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
extension_wrapper: Option<&str>
) -> Result<Box<dyn Array, Global>, SerializationError>where
Self: Clone + 'a,
fn try_to_arrow<'a>( data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>, extension_wrapper: Option<&str> ) -> Result<Box<dyn Array, Global>, SerializationError>where Self: Clone + 'a,
Given an iterator of owned or reference values to the current
Loggable
, serializes
them into an Arrow array.
The Arrow array’s datatype will match Loggable::to_arrow_datatype
. Read moresource§fn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
extension_wrapper: Option<&str>
) -> Box<dyn Array, Global>where
Self: Clone + 'a,
fn to_arrow_opt<'a>( data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>, extension_wrapper: Option<&str> ) -> Box<dyn Array, Global>where Self: Clone + 'a,
Given an iterator of options of owned or reference values to the current
Loggable
, serializes them into an Arrow array.
The Arrow array’s datatype will match Loggable::to_arrow_datatype
. Read moresource§fn try_from_arrow(
data: &(dyn Array + 'static)
) -> Result<Vec<Self, Global>, DeserializationError>
fn try_from_arrow( data: &(dyn Array + 'static) ) -> Result<Vec<Self, Global>, DeserializationError>
source§impl PartialEq<Pinhole> for Pinhole
impl PartialEq<Pinhole> for Pinhole
impl Component for Pinhole
impl Copy for Pinhole
impl StructuralPartialEq for Pinhole
Auto Trait Implementations§
impl RefUnwindSafe for Pinhole
impl Send for Pinhole
impl Sync for Pinhole
impl Unpin for Pinhole
impl UnwindSafe for Pinhole
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.