pub struct AccelerationStructureMotionCurveGeometryDescriptor(/* private fields */);Expand description
Descriptor for motion curve geometry in acceleration structures.
C++ equivalent: MTL::AccelerationStructureMotionCurveGeometryDescriptor
Implementations§
Source§impl AccelerationStructureMotionCurveGeometryDescriptor
impl AccelerationStructureMotionCurveGeometryDescriptor
Sourcepub fn new() -> Option<Self>
pub fn new() -> Option<Self>
Create a new motion curve geometry descriptor.
C++ equivalent: static AccelerationStructureMotionCurveGeometryDescriptor* alloc()->init()
Sourcepub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
pub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
Create from a raw pointer.
§Safety
The pointer must be a valid Metal motion curve geometry descriptor.
Sourcepub fn allow_duplicate_intersection_function_invocation(&self) -> bool
pub fn allow_duplicate_intersection_function_invocation(&self) -> bool
Get whether duplicate intersection function invocation is allowed.
Sourcepub fn set_allow_duplicate_intersection_function_invocation(&self, allow: bool)
pub fn set_allow_duplicate_intersection_function_invocation(&self, allow: bool)
Set whether duplicate intersection function invocation is allowed.
Sourcepub fn intersection_function_table_offset(&self) -> UInteger
pub fn intersection_function_table_offset(&self) -> UInteger
Get the intersection function table offset.
Sourcepub fn set_intersection_function_table_offset(&self, offset: UInteger)
pub fn set_intersection_function_table_offset(&self, offset: UInteger)
Set the intersection function table offset.
Sourcepub fn set_opaque(&self, opaque: bool)
pub fn set_opaque(&self, opaque: bool)
Set whether geometry is opaque.
Sourcepub fn primitive_data_buffer(&self) -> Option<Buffer>
pub fn primitive_data_buffer(&self) -> Option<Buffer>
Get the primitive data buffer.
Sourcepub fn set_primitive_data_buffer(&self, buffer: Option<&Buffer>)
pub fn set_primitive_data_buffer(&self, buffer: Option<&Buffer>)
Set the primitive data buffer.
Sourcepub fn primitive_data_buffer_offset(&self) -> UInteger
pub fn primitive_data_buffer_offset(&self) -> UInteger
Get the primitive data buffer offset.
Sourcepub fn set_primitive_data_buffer_offset(&self, offset: UInteger)
pub fn set_primitive_data_buffer_offset(&self, offset: UInteger)
Set the primitive data buffer offset.
Sourcepub fn primitive_data_element_size(&self) -> UInteger
pub fn primitive_data_element_size(&self) -> UInteger
Get the primitive data element size.
Sourcepub fn set_primitive_data_element_size(&self, size: UInteger)
pub fn set_primitive_data_element_size(&self, size: UInteger)
Set the primitive data element size.
Sourcepub fn primitive_data_stride(&self) -> UInteger
pub fn primitive_data_stride(&self) -> UInteger
Get the primitive data stride.
Sourcepub fn set_primitive_data_stride(&self, stride: UInteger)
pub fn set_primitive_data_stride(&self, stride: UInteger)
Set the primitive data stride.
Sourcepub fn control_point_count(&self) -> UInteger
pub fn control_point_count(&self) -> UInteger
Get the control point count.
C++ equivalent: NS::UInteger controlPointCount() const
Sourcepub fn set_control_point_count(&self, count: UInteger)
pub fn set_control_point_count(&self, count: UInteger)
Set the control point count.
C++ equivalent: void setControlPointCount(NS::UInteger)
Sourcepub fn control_point_format(&self) -> AttributeFormat
pub fn control_point_format(&self) -> AttributeFormat
Get the control point format.
C++ equivalent: AttributeFormat controlPointFormat() const
Sourcepub fn set_control_point_format(&self, format: AttributeFormat)
pub fn set_control_point_format(&self, format: AttributeFormat)
Set the control point format.
C++ equivalent: void setControlPointFormat(AttributeFormat)
Sourcepub fn control_point_stride(&self) -> UInteger
pub fn control_point_stride(&self) -> UInteger
Get the control point stride.
C++ equivalent: NS::UInteger controlPointStride() const
Sourcepub fn set_control_point_stride(&self, stride: UInteger)
pub fn set_control_point_stride(&self, stride: UInteger)
Set the control point stride.
C++ equivalent: void setControlPointStride(NS::UInteger)
Sourcepub fn curve_basis(&self) -> CurveBasis
pub fn curve_basis(&self) -> CurveBasis
Get the curve basis.
C++ equivalent: CurveBasis curveBasis() const
Sourcepub fn set_curve_basis(&self, basis: CurveBasis)
pub fn set_curve_basis(&self, basis: CurveBasis)
Set the curve basis.
C++ equivalent: void setCurveBasis(CurveBasis)
Sourcepub fn curve_end_caps(&self) -> CurveEndCaps
pub fn curve_end_caps(&self) -> CurveEndCaps
Get the curve end caps.
C++ equivalent: CurveEndCaps curveEndCaps() const
Sourcepub fn set_curve_end_caps(&self, end_caps: CurveEndCaps)
pub fn set_curve_end_caps(&self, end_caps: CurveEndCaps)
Set the curve end caps.
C++ equivalent: void setCurveEndCaps(CurveEndCaps)
Sourcepub fn curve_type(&self) -> CurveType
pub fn curve_type(&self) -> CurveType
Get the curve type.
C++ equivalent: CurveType curveType() const
Sourcepub fn set_curve_type(&self, curve_type: CurveType)
pub fn set_curve_type(&self, curve_type: CurveType)
Set the curve type.
C++ equivalent: void setCurveType(CurveType)
Sourcepub fn index_buffer(&self) -> Option<Buffer>
pub fn index_buffer(&self) -> Option<Buffer>
Get the index buffer.
C++ equivalent: Buffer* indexBuffer() const
Sourcepub fn set_index_buffer(&self, buffer: Option<&Buffer>)
pub fn set_index_buffer(&self, buffer: Option<&Buffer>)
Set the index buffer.
C++ equivalent: void setIndexBuffer(Buffer*)
Sourcepub fn index_buffer_offset(&self) -> UInteger
pub fn index_buffer_offset(&self) -> UInteger
Get the index buffer offset.
C++ equivalent: NS::UInteger indexBufferOffset() const
Sourcepub fn set_index_buffer_offset(&self, offset: UInteger)
pub fn set_index_buffer_offset(&self, offset: UInteger)
Set the index buffer offset.
C++ equivalent: void setIndexBufferOffset(NS::UInteger)
Sourcepub fn index_type(&self) -> IndexType
pub fn index_type(&self) -> IndexType
Get the index type.
C++ equivalent: IndexType indexType() const
Sourcepub fn set_index_type(&self, index_type: IndexType)
pub fn set_index_type(&self, index_type: IndexType)
Set the index type.
C++ equivalent: void setIndexType(IndexType)
Sourcepub fn radius_format(&self) -> AttributeFormat
pub fn radius_format(&self) -> AttributeFormat
Get the radius format.
C++ equivalent: AttributeFormat radiusFormat() const
Sourcepub fn set_radius_format(&self, format: AttributeFormat)
pub fn set_radius_format(&self, format: AttributeFormat)
Set the radius format.
C++ equivalent: void setRadiusFormat(AttributeFormat)
Sourcepub fn radius_stride(&self) -> UInteger
pub fn radius_stride(&self) -> UInteger
Get the radius stride.
C++ equivalent: NS::UInteger radiusStride() const
Sourcepub fn set_radius_stride(&self, stride: UInteger)
pub fn set_radius_stride(&self, stride: UInteger)
Set the radius stride.
C++ equivalent: void setRadiusStride(NS::UInteger)
Sourcepub fn segment_control_point_count(&self) -> UInteger
pub fn segment_control_point_count(&self) -> UInteger
Get the segment control point count.
C++ equivalent: NS::UInteger segmentControlPointCount() const
Sourcepub fn set_segment_control_point_count(&self, count: UInteger)
pub fn set_segment_control_point_count(&self, count: UInteger)
Set the segment control point count.
C++ equivalent: void setSegmentControlPointCount(NS::UInteger)
Sourcepub fn segment_count(&self) -> UInteger
pub fn segment_count(&self) -> UInteger
Get the segment count.
C++ equivalent: NS::UInteger segmentCount() const
Sourcepub fn set_segment_count(&self, count: UInteger)
pub fn set_segment_count(&self, count: UInteger)
Set the segment count.
C++ equivalent: void setSegmentCount(NS::UInteger)
Sourcepub fn control_point_buffers_ptr(&self) -> *const c_void
pub fn control_point_buffers_ptr(&self) -> *const c_void
Get the control point buffers as a raw NS::Array pointer.
C++ equivalent: NS::Array* controlPointBuffers() const
§Safety
The returned pointer is an NS::Array containing MotionKeyframeData objects. The caller must manage the memory appropriately.
Sourcepub unsafe fn set_control_point_buffers_ptr(
&self,
control_point_buffers: *const c_void,
)
pub unsafe fn set_control_point_buffers_ptr( &self, control_point_buffers: *const c_void, )
Set the control point buffers from a raw NS::Array pointer.
C++ equivalent: void setControlPointBuffers(const NS::Array*)
§Safety
The control_point_buffers pointer must be a valid NS::Array or null.
Sourcepub fn radius_buffers_ptr(&self) -> *const c_void
pub fn radius_buffers_ptr(&self) -> *const c_void
Get the radius buffers as a raw NS::Array pointer.
C++ equivalent: NS::Array* radiusBuffers() const
§Safety
The returned pointer is an NS::Array containing MotionKeyframeData objects. The caller must manage the memory appropriately.
Sourcepub unsafe fn set_radius_buffers_ptr(&self, radius_buffers: *const c_void)
pub unsafe fn set_radius_buffers_ptr(&self, radius_buffers: *const c_void)
Set the radius buffers from a raw NS::Array pointer.
C++ equivalent: void setRadiusBuffers(const NS::Array*)
§Safety
The radius_buffers pointer must be a valid NS::Array or null.