cobin/metal/
mtl_acceleration_structure_triangle_geometry_descriptor.rs1use 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}