cobin/metal/
mtl_acceleration_structure_triangle_geometry_descriptor.rs

1use crate::{
2  obj::Object,
3  PrivateMarker,
4  runtime::NSObjectBase,
5  metal::*
6};
7
8pub struct MTLAccelerationStructureTriangleGeometryDescriptor(PrivateMarker);
9
10impl Object for MTLAccelerationStructureTriangleGeometryDescriptor {}
11unsafe impl objc::Message for MTLAccelerationStructureTriangleGeometryDescriptor {}
12
13impl NSObjectBase for MTLAccelerationStructureTriangleGeometryDescriptor {
14  fn class_name() -> &'static str { "MTLAccelerationStructureTriangleGeometryDescriptor" }
15}
16
17impl MTLAccelerationStructureGeometryDescriptorBase for MTLAccelerationStructureTriangleGeometryDescriptor {}
18
19impl MTLAccelerationStructureTriangleGeometryDescriptor {
20  pub unsafe fn descriptor() -> *mut Self {
21    let cls = Self::get_class();
22    msg_send![cls, descriptor]
23  }
24
25  pub unsafe fn set_vertex_buffer(&mut self, buffer: *mut MTLBuffer) {
26    msg_send![self, setVertexBuffer:buffer]
27  }
28
29  pub unsafe fn set_vertex_buffer_offset(&mut self, offset: NSUInteger) {
30    msg_send![self, setVertexBufferOffset:offset]
31  }
32
33  pub unsafe fn set_triangle_count(&mut self, count: NSUInteger) {
34    msg_send![self, setTriangleCount:count]
35  }
36
37  pub unsafe fn set_index_buffer(&mut self, buffer: *mut MTLBuffer) {
38    msg_send![self, setIndexBuffer:buffer]
39  }
40
41  pub unsafe fn set_index_buffer_offset(&mut self, offset: NSUInteger) {
42    msg_send![self, setIndexBufferOffset:offset]
43  }
44
45  pub unsafe fn set_index_type(&mut self, type_: MTLIndexType) {
46    msg_send![self, setIndexType:type_]
47  }
48}