Struct rerun::external::re_renderer::renderer::PointCloudBatchInfo
source · pub struct PointCloudBatchInfo {
pub label: DebugLabel,
pub world_from_obj: Affine3A,
pub flags: PointCloudBatchFlags,
pub point_count: u32,
pub overall_outline_mask_ids: OutlineMaskPreference,
pub additional_outline_mask_ids_vertex_ranges: Vec<(Range<u32>, OutlineMaskPreference)>,
pub picking_object_id: PickingLayerObjectId,
pub depth_offset: i16,
}
Expand description
Data that is valid for a batch of point cloud points.
Fields§
§label: DebugLabel
§world_from_obj: Affine3A
Transformation applies to point positions
TODO(andreas): We don’t apply scaling to the radius yet. Need to pass a scaling factor like this in
let scale = Mat3::from(world_from_obj).determinant().abs().cbrt()
flags: PointCloudBatchFlags
Additional properties of this point cloud batch.
point_count: u32
Number of points covered by this batch.
The batch will start with the next point after the one the previous batch ended with.
overall_outline_mask_ids: OutlineMaskPreference
Optional outline mask setting for the entire batch.
additional_outline_mask_ids_vertex_ranges: Vec<(Range<u32>, OutlineMaskPreference)>
Defines an outline mask for an individual vertex ranges.
Vertex ranges are relative within the current batch.
Having many of these individual outline masks can be slow as they require each their own uniform buffer & draw call. This feature is meant for a limited number of “extra selections” If an overall mask is defined as well, the per-point-range masks is overwriting the overall mask.
picking_object_id: PickingLayerObjectId
Picking object id that applies for the entire batch.
depth_offset: i16
Depth offset applied after projection.
Trait Implementations§
source§impl Default for PointCloudBatchInfo
impl Default for PointCloudBatchInfo
source§fn default() -> PointCloudBatchInfo
fn default() -> PointCloudBatchInfo
Auto Trait Implementations§
impl Freeze for PointCloudBatchInfo
impl RefUnwindSafe for PointCloudBatchInfo
impl Send for PointCloudBatchInfo
impl Sync for PointCloudBatchInfo
impl Unpin for PointCloudBatchInfo
impl UnwindSafe for PointCloudBatchInfo
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
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>,
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>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request