MTLAccelerationStructure.hpp
1 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 2 // 3 // Metal/MTLAccelerationStructure.hpp 4 // 5 // Copyright 2020-2024 Apple Inc. 6 // 7 // Licensed under the Apache License, Version 2.0 (the "License"); 8 // you may not use this file except in compliance with the License. 9 // You may obtain a copy of the License at 10 // 11 // http://www.apache.org/licenses/LICENSE-2.0 12 // 13 // Unless required by applicable law or agreed to in writing, software 14 // distributed under the License is distributed on an "AS IS" BASIS, 15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 // See the License for the specific language governing permissions and 17 // limitations under the License. 18 // 19 //------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 21 #pragma once 22 23 #include "MTLDefines.hpp" 24 #include "MTLHeaderBridge.hpp" 25 #include "MTLPrivate.hpp" 26 27 #include <Foundation/Foundation.hpp> 28 29 #include "MTLAccelerationStructure.hpp" 30 #include "MTLAccelerationStructureTypes.hpp" 31 #include "MTLResource.hpp" 32 #include "MTLStageInputOutputDescriptor.hpp" 33 #include "MTLTypes.hpp" 34 35 namespace MTL 36 { 37 _MTL_OPTIONS(NS::UInteger, AccelerationStructureUsage) { 38 AccelerationStructureUsageNone = 0, 39 AccelerationStructureUsageRefit = 1, 40 AccelerationStructureUsagePreferFastBuild = 2, 41 AccelerationStructureUsageExtendedLimits = 4, 42 }; 43 44 _MTL_OPTIONS(uint32_t, AccelerationStructureInstanceOptions) { 45 AccelerationStructureInstanceOptionNone = 0, 46 AccelerationStructureInstanceOptionDisableTriangleCulling = 1, 47 AccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise = 2, 48 AccelerationStructureInstanceOptionOpaque = 4, 49 AccelerationStructureInstanceOptionNonOpaque = 8, 50 }; 51 52 _MTL_ENUM(NS::Integer, MatrixLayout) { 53 MatrixLayoutColumnMajor = 0, 54 MatrixLayoutRowMajor = 1, 55 }; 56 57 class AccelerationStructureDescriptor : public NS::Copying<AccelerationStructureDescriptor> 58 { 59 public: 60 static class AccelerationStructureDescriptor* alloc(); 61 62 class AccelerationStructureDescriptor* init(); 63 64 MTL::AccelerationStructureUsage usage() const; 65 void setUsage(MTL::AccelerationStructureUsage usage); 66 }; 67 68 class AccelerationStructureGeometryDescriptor : public NS::Copying<AccelerationStructureGeometryDescriptor> 69 { 70 public: 71 static class AccelerationStructureGeometryDescriptor* alloc(); 72 73 class AccelerationStructureGeometryDescriptor* init(); 74 75 NS::UInteger intersectionFunctionTableOffset() const; 76 void setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset); 77 78 bool opaque() const; 79 void setOpaque(bool opaque); 80 81 bool allowDuplicateIntersectionFunctionInvocation() const; 82 void setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation); 83 84 NS::String* label() const; 85 void setLabel(const NS::String* label); 86 87 class Buffer* primitiveDataBuffer() const; 88 void setPrimitiveDataBuffer(const class Buffer* primitiveDataBuffer); 89 90 NS::UInteger primitiveDataBufferOffset() const; 91 void setPrimitiveDataBufferOffset(NS::UInteger primitiveDataBufferOffset); 92 93 NS::UInteger primitiveDataStride() const; 94 void setPrimitiveDataStride(NS::UInteger primitiveDataStride); 95 96 NS::UInteger primitiveDataElementSize() const; 97 void setPrimitiveDataElementSize(NS::UInteger primitiveDataElementSize); 98 }; 99 100 _MTL_ENUM(uint32_t, MotionBorderMode) { 101 MotionBorderModeClamp = 0, 102 MotionBorderModeVanish = 1, 103 }; 104 105 class PrimitiveAccelerationStructureDescriptor : public NS::Copying<PrimitiveAccelerationStructureDescriptor, MTL::AccelerationStructureDescriptor> 106 { 107 public: 108 static class PrimitiveAccelerationStructureDescriptor* alloc(); 109 110 class PrimitiveAccelerationStructureDescriptor* init(); 111 112 NS::Array* geometryDescriptors() const; 113 void setGeometryDescriptors(const NS::Array* geometryDescriptors); 114 115 MTL::MotionBorderMode motionStartBorderMode() const; 116 void setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode); 117 118 MTL::MotionBorderMode motionEndBorderMode() const; 119 void setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode); 120 121 float motionStartTime() const; 122 void setMotionStartTime(float motionStartTime); 123 124 float motionEndTime() const; 125 void setMotionEndTime(float motionEndTime); 126 127 NS::UInteger motionKeyframeCount() const; 128 void setMotionKeyframeCount(NS::UInteger motionKeyframeCount); 129 130 static MTL::PrimitiveAccelerationStructureDescriptor* descriptor(); 131 }; 132 133 class AccelerationStructureTriangleGeometryDescriptor : public NS::Copying<AccelerationStructureTriangleGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 134 { 135 public: 136 static class AccelerationStructureTriangleGeometryDescriptor* alloc(); 137 138 class AccelerationStructureTriangleGeometryDescriptor* init(); 139 140 class Buffer* vertexBuffer() const; 141 void setVertexBuffer(const class Buffer* vertexBuffer); 142 143 NS::UInteger vertexBufferOffset() const; 144 void setVertexBufferOffset(NS::UInteger vertexBufferOffset); 145 146 MTL::AttributeFormat vertexFormat() const; 147 void setVertexFormat(MTL::AttributeFormat vertexFormat); 148 149 NS::UInteger vertexStride() const; 150 void setVertexStride(NS::UInteger vertexStride); 151 152 class Buffer* indexBuffer() const; 153 void setIndexBuffer(const class Buffer* indexBuffer); 154 155 NS::UInteger indexBufferOffset() const; 156 void setIndexBufferOffset(NS::UInteger indexBufferOffset); 157 158 MTL::IndexType indexType() const; 159 void setIndexType(MTL::IndexType indexType); 160 161 NS::UInteger triangleCount() const; 162 void setTriangleCount(NS::UInteger triangleCount); 163 164 class Buffer* transformationMatrixBuffer() const; 165 void setTransformationMatrixBuffer(const class Buffer* transformationMatrixBuffer); 166 167 NS::UInteger transformationMatrixBufferOffset() const; 168 void setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset); 169 170 MTL::MatrixLayout transformationMatrixLayout() const; 171 void setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout); 172 173 static MTL::AccelerationStructureTriangleGeometryDescriptor* descriptor(); 174 }; 175 176 class AccelerationStructureBoundingBoxGeometryDescriptor : public NS::Copying<AccelerationStructureBoundingBoxGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 177 { 178 public: 179 static class AccelerationStructureBoundingBoxGeometryDescriptor* alloc(); 180 181 class AccelerationStructureBoundingBoxGeometryDescriptor* init(); 182 183 class Buffer* boundingBoxBuffer() const; 184 void setBoundingBoxBuffer(const class Buffer* boundingBoxBuffer); 185 186 NS::UInteger boundingBoxBufferOffset() const; 187 void setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset); 188 189 NS::UInteger boundingBoxStride() const; 190 void setBoundingBoxStride(NS::UInteger boundingBoxStride); 191 192 NS::UInteger boundingBoxCount() const; 193 void setBoundingBoxCount(NS::UInteger boundingBoxCount); 194 195 static MTL::AccelerationStructureBoundingBoxGeometryDescriptor* descriptor(); 196 }; 197 198 class MotionKeyframeData : public NS::Referencing<MotionKeyframeData> 199 { 200 public: 201 static class MotionKeyframeData* alloc(); 202 203 class MotionKeyframeData* init(); 204 205 class Buffer* buffer() const; 206 void setBuffer(const class Buffer* buffer); 207 208 NS::UInteger offset() const; 209 void setOffset(NS::UInteger offset); 210 211 static MTL::MotionKeyframeData* data(); 212 }; 213 214 class AccelerationStructureMotionTriangleGeometryDescriptor : public NS::Copying<AccelerationStructureMotionTriangleGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 215 { 216 public: 217 static class AccelerationStructureMotionTriangleGeometryDescriptor* alloc(); 218 219 class AccelerationStructureMotionTriangleGeometryDescriptor* init(); 220 221 NS::Array* vertexBuffers() const; 222 void setVertexBuffers(const NS::Array* vertexBuffers); 223 224 MTL::AttributeFormat vertexFormat() const; 225 void setVertexFormat(MTL::AttributeFormat vertexFormat); 226 227 NS::UInteger vertexStride() const; 228 void setVertexStride(NS::UInteger vertexStride); 229 230 class Buffer* indexBuffer() const; 231 void setIndexBuffer(const class Buffer* indexBuffer); 232 233 NS::UInteger indexBufferOffset() const; 234 void setIndexBufferOffset(NS::UInteger indexBufferOffset); 235 236 MTL::IndexType indexType() const; 237 void setIndexType(MTL::IndexType indexType); 238 239 NS::UInteger triangleCount() const; 240 void setTriangleCount(NS::UInteger triangleCount); 241 242 class Buffer* transformationMatrixBuffer() const; 243 void setTransformationMatrixBuffer(const class Buffer* transformationMatrixBuffer); 244 245 NS::UInteger transformationMatrixBufferOffset() const; 246 void setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset); 247 248 MTL::MatrixLayout transformationMatrixLayout() const; 249 void setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout); 250 251 static MTL::AccelerationStructureMotionTriangleGeometryDescriptor* descriptor(); 252 }; 253 254 class AccelerationStructureMotionBoundingBoxGeometryDescriptor : public NS::Copying<AccelerationStructureMotionBoundingBoxGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 255 { 256 public: 257 static class AccelerationStructureMotionBoundingBoxGeometryDescriptor* alloc(); 258 259 class AccelerationStructureMotionBoundingBoxGeometryDescriptor* init(); 260 261 NS::Array* boundingBoxBuffers() const; 262 void setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers); 263 264 NS::UInteger boundingBoxStride() const; 265 void setBoundingBoxStride(NS::UInteger boundingBoxStride); 266 267 NS::UInteger boundingBoxCount() const; 268 void setBoundingBoxCount(NS::UInteger boundingBoxCount); 269 270 static MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* descriptor(); 271 }; 272 273 _MTL_ENUM(NS::Integer, CurveType) { 274 CurveTypeRound = 0, 275 CurveTypeFlat = 1, 276 }; 277 278 _MTL_ENUM(NS::Integer, CurveBasis) { 279 CurveBasisBSpline = 0, 280 CurveBasisCatmullRom = 1, 281 CurveBasisLinear = 2, 282 CurveBasisBezier = 3, 283 }; 284 285 _MTL_ENUM(NS::Integer, CurveEndCaps) { 286 CurveEndCapsNone = 0, 287 CurveEndCapsDisk = 1, 288 CurveEndCapsSphere = 2, 289 }; 290 291 class AccelerationStructureCurveGeometryDescriptor : public NS::Copying<AccelerationStructureCurveGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 292 { 293 public: 294 static class AccelerationStructureCurveGeometryDescriptor* alloc(); 295 296 class AccelerationStructureCurveGeometryDescriptor* init(); 297 298 class Buffer* controlPointBuffer() const; 299 void setControlPointBuffer(const class Buffer* controlPointBuffer); 300 301 NS::UInteger controlPointBufferOffset() const; 302 void setControlPointBufferOffset(NS::UInteger controlPointBufferOffset); 303 304 NS::UInteger controlPointCount() const; 305 void setControlPointCount(NS::UInteger controlPointCount); 306 307 NS::UInteger controlPointStride() const; 308 void setControlPointStride(NS::UInteger controlPointStride); 309 310 MTL::AttributeFormat controlPointFormat() const; 311 void setControlPointFormat(MTL::AttributeFormat controlPointFormat); 312 313 class Buffer* radiusBuffer() const; 314 void setRadiusBuffer(const class Buffer* radiusBuffer); 315 316 NS::UInteger radiusBufferOffset() const; 317 void setRadiusBufferOffset(NS::UInteger radiusBufferOffset); 318 319 MTL::AttributeFormat radiusFormat() const; 320 void setRadiusFormat(MTL::AttributeFormat radiusFormat); 321 322 NS::UInteger radiusStride() const; 323 void setRadiusStride(NS::UInteger radiusStride); 324 325 class Buffer* indexBuffer() const; 326 void setIndexBuffer(const class Buffer* indexBuffer); 327 328 NS::UInteger indexBufferOffset() const; 329 void setIndexBufferOffset(NS::UInteger indexBufferOffset); 330 331 MTL::IndexType indexType() const; 332 void setIndexType(MTL::IndexType indexType); 333 334 NS::UInteger segmentCount() const; 335 void setSegmentCount(NS::UInteger segmentCount); 336 337 NS::UInteger segmentControlPointCount() const; 338 void setSegmentControlPointCount(NS::UInteger segmentControlPointCount); 339 340 MTL::CurveType curveType() const; 341 void setCurveType(MTL::CurveType curveType); 342 343 MTL::CurveBasis curveBasis() const; 344 void setCurveBasis(MTL::CurveBasis curveBasis); 345 346 MTL::CurveEndCaps curveEndCaps() const; 347 void setCurveEndCaps(MTL::CurveEndCaps curveEndCaps); 348 349 static MTL::AccelerationStructureCurveGeometryDescriptor* descriptor(); 350 }; 351 352 class AccelerationStructureMotionCurveGeometryDescriptor : public NS::Copying<AccelerationStructureMotionCurveGeometryDescriptor, MTL::AccelerationStructureGeometryDescriptor> 353 { 354 public: 355 static class AccelerationStructureMotionCurveGeometryDescriptor* alloc(); 356 357 class AccelerationStructureMotionCurveGeometryDescriptor* init(); 358 359 NS::Array* controlPointBuffers() const; 360 void setControlPointBuffers(const NS::Array* controlPointBuffers); 361 362 NS::UInteger controlPointCount() const; 363 void setControlPointCount(NS::UInteger controlPointCount); 364 365 NS::UInteger controlPointStride() const; 366 void setControlPointStride(NS::UInteger controlPointStride); 367 368 MTL::AttributeFormat controlPointFormat() const; 369 void setControlPointFormat(MTL::AttributeFormat controlPointFormat); 370 371 NS::Array* radiusBuffers() const; 372 void setRadiusBuffers(const NS::Array* radiusBuffers); 373 374 MTL::AttributeFormat radiusFormat() const; 375 void setRadiusFormat(MTL::AttributeFormat radiusFormat); 376 377 NS::UInteger radiusStride() const; 378 void setRadiusStride(NS::UInteger radiusStride); 379 380 class Buffer* indexBuffer() const; 381 void setIndexBuffer(const class Buffer* indexBuffer); 382 383 NS::UInteger indexBufferOffset() const; 384 void setIndexBufferOffset(NS::UInteger indexBufferOffset); 385 386 MTL::IndexType indexType() const; 387 void setIndexType(MTL::IndexType indexType); 388 389 NS::UInteger segmentCount() const; 390 void setSegmentCount(NS::UInteger segmentCount); 391 392 NS::UInteger segmentControlPointCount() const; 393 void setSegmentControlPointCount(NS::UInteger segmentControlPointCount); 394 395 MTL::CurveType curveType() const; 396 void setCurveType(MTL::CurveType curveType); 397 398 MTL::CurveBasis curveBasis() const; 399 void setCurveBasis(MTL::CurveBasis curveBasis); 400 401 MTL::CurveEndCaps curveEndCaps() const; 402 void setCurveEndCaps(MTL::CurveEndCaps curveEndCaps); 403 404 static MTL::AccelerationStructureMotionCurveGeometryDescriptor* descriptor(); 405 }; 406 407 struct AccelerationStructureInstanceDescriptor 408 { 409 MTL::PackedFloat4x3 transformationMatrix; 410 MTL::AccelerationStructureInstanceOptions options; 411 uint32_t mask; 412 uint32_t intersectionFunctionTableOffset; 413 uint32_t accelerationStructureIndex; 414 } _MTL_PACKED; 415 416 struct AccelerationStructureUserIDInstanceDescriptor 417 { 418 MTL::PackedFloat4x3 transformationMatrix; 419 MTL::AccelerationStructureInstanceOptions options; 420 uint32_t mask; 421 uint32_t intersectionFunctionTableOffset; 422 uint32_t accelerationStructureIndex; 423 uint32_t userID; 424 } _MTL_PACKED; 425 426 _MTL_ENUM(NS::UInteger, AccelerationStructureInstanceDescriptorType) { 427 AccelerationStructureInstanceDescriptorTypeDefault = 0, 428 AccelerationStructureInstanceDescriptorTypeUserID = 1, 429 AccelerationStructureInstanceDescriptorTypeMotion = 2, 430 AccelerationStructureInstanceDescriptorTypeIndirect = 3, 431 AccelerationStructureInstanceDescriptorTypeIndirectMotion = 4, 432 }; 433 434 struct AccelerationStructureMotionInstanceDescriptor 435 { 436 MTL::AccelerationStructureInstanceOptions options; 437 uint32_t mask; 438 uint32_t intersectionFunctionTableOffset; 439 uint32_t accelerationStructureIndex; 440 uint32_t userID; 441 uint32_t motionTransformsStartIndex; 442 uint32_t motionTransformsCount; 443 MTL::MotionBorderMode motionStartBorderMode; 444 MTL::MotionBorderMode motionEndBorderMode; 445 float motionStartTime; 446 float motionEndTime; 447 } _MTL_PACKED; 448 449 struct IndirectAccelerationStructureInstanceDescriptor 450 { 451 MTL::PackedFloat4x3 transformationMatrix; 452 MTL::AccelerationStructureInstanceOptions options; 453 uint32_t mask; 454 uint32_t intersectionFunctionTableOffset; 455 uint32_t userID; 456 MTL::ResourceID accelerationStructureID; 457 } _MTL_PACKED; 458 459 struct IndirectAccelerationStructureMotionInstanceDescriptor 460 { 461 MTL::AccelerationStructureInstanceOptions options; 462 uint32_t mask; 463 uint32_t intersectionFunctionTableOffset; 464 uint32_t userID; 465 MTL::ResourceID accelerationStructureID; 466 uint32_t motionTransformsStartIndex; 467 uint32_t motionTransformsCount; 468 MTL::MotionBorderMode motionStartBorderMode; 469 MTL::MotionBorderMode motionEndBorderMode; 470 float motionStartTime; 471 float motionEndTime; 472 } _MTL_PACKED; 473 474 _MTL_ENUM(NS::Integer, TransformType) { 475 TransformTypePackedFloat4x3 = 0, 476 TransformTypeComponent = 1, 477 }; 478 479 class InstanceAccelerationStructureDescriptor : public NS::Copying<InstanceAccelerationStructureDescriptor, MTL::AccelerationStructureDescriptor> 480 { 481 public: 482 static class InstanceAccelerationStructureDescriptor* alloc(); 483 484 class InstanceAccelerationStructureDescriptor* init(); 485 486 class Buffer* instanceDescriptorBuffer() const; 487 void setInstanceDescriptorBuffer(const class Buffer* instanceDescriptorBuffer); 488 489 NS::UInteger instanceDescriptorBufferOffset() const; 490 void setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset); 491 492 NS::UInteger instanceDescriptorStride() const; 493 void setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride); 494 495 NS::UInteger instanceCount() const; 496 void setInstanceCount(NS::UInteger instanceCount); 497 498 NS::Array* instancedAccelerationStructures() const; 499 void setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures); 500 501 MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType() const; 502 void setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType); 503 504 class Buffer* motionTransformBuffer() const; 505 void setMotionTransformBuffer(const class Buffer* motionTransformBuffer); 506 507 NS::UInteger motionTransformBufferOffset() const; 508 void setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset); 509 510 NS::UInteger motionTransformCount() const; 511 void setMotionTransformCount(NS::UInteger motionTransformCount); 512 513 MTL::MatrixLayout instanceTransformationMatrixLayout() const; 514 void setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout); 515 516 MTL::TransformType motionTransformType() const; 517 void setMotionTransformType(MTL::TransformType motionTransformType); 518 519 NS::UInteger motionTransformStride() const; 520 void setMotionTransformStride(NS::UInteger motionTransformStride); 521 522 static MTL::InstanceAccelerationStructureDescriptor* descriptor(); 523 }; 524 525 class IndirectInstanceAccelerationStructureDescriptor : public NS::Copying<IndirectInstanceAccelerationStructureDescriptor, MTL::AccelerationStructureDescriptor> 526 { 527 public: 528 static class IndirectInstanceAccelerationStructureDescriptor* alloc(); 529 530 class IndirectInstanceAccelerationStructureDescriptor* init(); 531 532 class Buffer* instanceDescriptorBuffer() const; 533 void setInstanceDescriptorBuffer(const class Buffer* instanceDescriptorBuffer); 534 535 NS::UInteger instanceDescriptorBufferOffset() const; 536 void setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset); 537 538 NS::UInteger instanceDescriptorStride() const; 539 void setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride); 540 541 NS::UInteger maxInstanceCount() const; 542 void setMaxInstanceCount(NS::UInteger maxInstanceCount); 543 544 class Buffer* instanceCountBuffer() const; 545 void setInstanceCountBuffer(const class Buffer* instanceCountBuffer); 546 547 NS::UInteger instanceCountBufferOffset() const; 548 void setInstanceCountBufferOffset(NS::UInteger instanceCountBufferOffset); 549 550 MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType() const; 551 void setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType); 552 553 class Buffer* motionTransformBuffer() const; 554 void setMotionTransformBuffer(const class Buffer* motionTransformBuffer); 555 556 NS::UInteger motionTransformBufferOffset() const; 557 void setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset); 558 559 NS::UInteger maxMotionTransformCount() const; 560 void setMaxMotionTransformCount(NS::UInteger maxMotionTransformCount); 561 562 class Buffer* motionTransformCountBuffer() const; 563 void setMotionTransformCountBuffer(const class Buffer* motionTransformCountBuffer); 564 565 NS::UInteger motionTransformCountBufferOffset() const; 566 void setMotionTransformCountBufferOffset(NS::UInteger motionTransformCountBufferOffset); 567 568 MTL::MatrixLayout instanceTransformationMatrixLayout() const; 569 void setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout); 570 571 MTL::TransformType motionTransformType() const; 572 void setMotionTransformType(MTL::TransformType motionTransformType); 573 574 NS::UInteger motionTransformStride() const; 575 void setMotionTransformStride(NS::UInteger motionTransformStride); 576 577 static MTL::IndirectInstanceAccelerationStructureDescriptor* descriptor(); 578 }; 579 580 class AccelerationStructure : public NS::Referencing<AccelerationStructure, Resource> 581 { 582 public: 583 NS::UInteger size() const; 584 585 MTL::ResourceID gpuResourceID() const; 586 }; 587 588 } 589 590 // static method: alloc 591 _MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::alloc() 592 { 593 return NS::Object::alloc<MTL::AccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureDescriptor)); 594 } 595 596 // method: init 597 _MTL_INLINE MTL::AccelerationStructureDescriptor* MTL::AccelerationStructureDescriptor::init() 598 { 599 return NS::Object::init<MTL::AccelerationStructureDescriptor>(); 600 } 601 602 // property: usage 603 _MTL_INLINE MTL::AccelerationStructureUsage MTL::AccelerationStructureDescriptor::usage() const 604 { 605 return Object::sendMessage<MTL::AccelerationStructureUsage>(this, _MTL_PRIVATE_SEL(usage)); 606 } 607 608 _MTL_INLINE void MTL::AccelerationStructureDescriptor::setUsage(MTL::AccelerationStructureUsage usage) 609 { 610 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setUsage_), usage); 611 } 612 613 // static method: alloc 614 _MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::alloc() 615 { 616 return NS::Object::alloc<MTL::AccelerationStructureGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureGeometryDescriptor)); 617 } 618 619 // method: init 620 _MTL_INLINE MTL::AccelerationStructureGeometryDescriptor* MTL::AccelerationStructureGeometryDescriptor::init() 621 { 622 return NS::Object::init<MTL::AccelerationStructureGeometryDescriptor>(); 623 } 624 625 // property: intersectionFunctionTableOffset 626 _MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::intersectionFunctionTableOffset() const 627 { 628 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(intersectionFunctionTableOffset)); 629 } 630 631 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setIntersectionFunctionTableOffset(NS::UInteger intersectionFunctionTableOffset) 632 { 633 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIntersectionFunctionTableOffset_), intersectionFunctionTableOffset); 634 } 635 636 // property: opaque 637 _MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::opaque() const 638 { 639 return Object::sendMessage<bool>(this, _MTL_PRIVATE_SEL(opaque)); 640 } 641 642 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setOpaque(bool opaque) 643 { 644 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setOpaque_), opaque); 645 } 646 647 // property: allowDuplicateIntersectionFunctionInvocation 648 _MTL_INLINE bool MTL::AccelerationStructureGeometryDescriptor::allowDuplicateIntersectionFunctionInvocation() const 649 { 650 return Object::sendMessage<bool>(this, _MTL_PRIVATE_SEL(allowDuplicateIntersectionFunctionInvocation)); 651 } 652 653 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setAllowDuplicateIntersectionFunctionInvocation(bool allowDuplicateIntersectionFunctionInvocation) 654 { 655 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setAllowDuplicateIntersectionFunctionInvocation_), allowDuplicateIntersectionFunctionInvocation); 656 } 657 658 // property: label 659 _MTL_INLINE NS::String* MTL::AccelerationStructureGeometryDescriptor::label() const 660 { 661 return Object::sendMessage<NS::String*>(this, _MTL_PRIVATE_SEL(label)); 662 } 663 664 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setLabel(const NS::String* label) 665 { 666 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setLabel_), label); 667 } 668 669 // property: primitiveDataBuffer 670 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureGeometryDescriptor::primitiveDataBuffer() const 671 { 672 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(primitiveDataBuffer)); 673 } 674 675 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataBuffer(const MTL::Buffer* primitiveDataBuffer) 676 { 677 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataBuffer_), primitiveDataBuffer); 678 } 679 680 // property: primitiveDataBufferOffset 681 _MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataBufferOffset() const 682 { 683 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataBufferOffset)); 684 } 685 686 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataBufferOffset(NS::UInteger primitiveDataBufferOffset) 687 { 688 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataBufferOffset_), primitiveDataBufferOffset); 689 } 690 691 // property: primitiveDataStride 692 _MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataStride() const 693 { 694 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataStride)); 695 } 696 697 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataStride(NS::UInteger primitiveDataStride) 698 { 699 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataStride_), primitiveDataStride); 700 } 701 702 // property: primitiveDataElementSize 703 _MTL_INLINE NS::UInteger MTL::AccelerationStructureGeometryDescriptor::primitiveDataElementSize() const 704 { 705 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(primitiveDataElementSize)); 706 } 707 708 _MTL_INLINE void MTL::AccelerationStructureGeometryDescriptor::setPrimitiveDataElementSize(NS::UInteger primitiveDataElementSize) 709 { 710 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setPrimitiveDataElementSize_), primitiveDataElementSize); 711 } 712 713 // static method: alloc 714 _MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::alloc() 715 { 716 return NS::Object::alloc<MTL::PrimitiveAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor)); 717 } 718 719 // method: init 720 _MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::init() 721 { 722 return NS::Object::init<MTL::PrimitiveAccelerationStructureDescriptor>(); 723 } 724 725 // property: geometryDescriptors 726 _MTL_INLINE NS::Array* MTL::PrimitiveAccelerationStructureDescriptor::geometryDescriptors() const 727 { 728 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(geometryDescriptors)); 729 } 730 731 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setGeometryDescriptors(const NS::Array* geometryDescriptors) 732 { 733 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setGeometryDescriptors_), geometryDescriptors); 734 } 735 736 // property: motionStartBorderMode 737 _MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionStartBorderMode() const 738 { 739 return Object::sendMessage<MTL::MotionBorderMode>(this, _MTL_PRIVATE_SEL(motionStartBorderMode)); 740 } 741 742 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartBorderMode(MTL::MotionBorderMode motionStartBorderMode) 743 { 744 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionStartBorderMode_), motionStartBorderMode); 745 } 746 747 // property: motionEndBorderMode 748 _MTL_INLINE MTL::MotionBorderMode MTL::PrimitiveAccelerationStructureDescriptor::motionEndBorderMode() const 749 { 750 return Object::sendMessage<MTL::MotionBorderMode>(this, _MTL_PRIVATE_SEL(motionEndBorderMode)); 751 } 752 753 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndBorderMode(MTL::MotionBorderMode motionEndBorderMode) 754 { 755 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionEndBorderMode_), motionEndBorderMode); 756 } 757 758 // property: motionStartTime 759 _MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionStartTime() const 760 { 761 return Object::sendMessage<float>(this, _MTL_PRIVATE_SEL(motionStartTime)); 762 } 763 764 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionStartTime(float motionStartTime) 765 { 766 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionStartTime_), motionStartTime); 767 } 768 769 // property: motionEndTime 770 _MTL_INLINE float MTL::PrimitiveAccelerationStructureDescriptor::motionEndTime() const 771 { 772 return Object::sendMessage<float>(this, _MTL_PRIVATE_SEL(motionEndTime)); 773 } 774 775 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionEndTime(float motionEndTime) 776 { 777 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionEndTime_), motionEndTime); 778 } 779 780 // property: motionKeyframeCount 781 _MTL_INLINE NS::UInteger MTL::PrimitiveAccelerationStructureDescriptor::motionKeyframeCount() const 782 { 783 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionKeyframeCount)); 784 } 785 786 _MTL_INLINE void MTL::PrimitiveAccelerationStructureDescriptor::setMotionKeyframeCount(NS::UInteger motionKeyframeCount) 787 { 788 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionKeyframeCount_), motionKeyframeCount); 789 } 790 791 // static method: descriptor 792 _MTL_INLINE MTL::PrimitiveAccelerationStructureDescriptor* MTL::PrimitiveAccelerationStructureDescriptor::descriptor() 793 { 794 return Object::sendMessage<MTL::PrimitiveAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLPrimitiveAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor)); 795 } 796 797 // static method: alloc 798 _MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::alloc() 799 { 800 return NS::Object::alloc<MTL::AccelerationStructureTriangleGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor)); 801 } 802 803 // method: init 804 _MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::init() 805 { 806 return NS::Object::init<MTL::AccelerationStructureTriangleGeometryDescriptor>(); 807 } 808 809 // property: vertexBuffer 810 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBuffer() const 811 { 812 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(vertexBuffer)); 813 } 814 815 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBuffer(const MTL::Buffer* vertexBuffer) 816 { 817 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBuffer_), vertexBuffer); 818 } 819 820 // property: vertexBufferOffset 821 _MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexBufferOffset() const 822 { 823 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexBufferOffset)); 824 } 825 826 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexBufferOffset(NS::UInteger vertexBufferOffset) 827 { 828 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBufferOffset_), vertexBufferOffset); 829 } 830 831 // property: vertexFormat 832 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureTriangleGeometryDescriptor::vertexFormat() const 833 { 834 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(vertexFormat)); 835 } 836 837 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexFormat(MTL::AttributeFormat vertexFormat) 838 { 839 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexFormat_), vertexFormat); 840 } 841 842 // property: vertexStride 843 _MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::vertexStride() const 844 { 845 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexStride)); 846 } 847 848 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride) 849 { 850 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride); 851 } 852 853 // property: indexBuffer 854 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::indexBuffer() const 855 { 856 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer)); 857 } 858 859 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) 860 { 861 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); 862 } 863 864 // property: indexBufferOffset 865 _MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::indexBufferOffset() const 866 { 867 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset)); 868 } 869 870 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) 871 { 872 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); 873 } 874 875 // property: indexType 876 _MTL_INLINE MTL::IndexType MTL::AccelerationStructureTriangleGeometryDescriptor::indexType() const 877 { 878 return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType)); 879 } 880 881 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType) 882 { 883 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); 884 } 885 886 // property: triangleCount 887 _MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::triangleCount() const 888 { 889 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(triangleCount)); 890 } 891 892 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount) 893 { 894 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount); 895 } 896 897 // property: transformationMatrixBuffer 898 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixBuffer() const 899 { 900 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(transformationMatrixBuffer)); 901 } 902 903 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer) 904 { 905 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBuffer_), transformationMatrixBuffer); 906 } 907 908 // property: transformationMatrixBufferOffset 909 _MTL_INLINE NS::UInteger MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixBufferOffset() const 910 { 911 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(transformationMatrixBufferOffset)); 912 } 913 914 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset) 915 { 916 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBufferOffset_), transformationMatrixBufferOffset); 917 } 918 919 // property: transformationMatrixLayout 920 _MTL_INLINE MTL::MatrixLayout MTL::AccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout() const 921 { 922 return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(transformationMatrixLayout)); 923 } 924 925 _MTL_INLINE void MTL::AccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout) 926 { 927 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixLayout_), transformationMatrixLayout); 928 } 929 930 // static method: descriptor 931 _MTL_INLINE MTL::AccelerationStructureTriangleGeometryDescriptor* MTL::AccelerationStructureTriangleGeometryDescriptor::descriptor() 932 { 933 return Object::sendMessage<MTL::AccelerationStructureTriangleGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 934 } 935 936 // static method: alloc 937 _MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::alloc() 938 { 939 return NS::Object::alloc<MTL::AccelerationStructureBoundingBoxGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor)); 940 } 941 942 // method: init 943 _MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::init() 944 { 945 return NS::Object::init<MTL::AccelerationStructureBoundingBoxGeometryDescriptor>(); 946 } 947 948 // property: boundingBoxBuffer 949 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBuffer() const 950 { 951 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(boundingBoxBuffer)); 952 } 953 954 _MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBuffer(const MTL::Buffer* boundingBoxBuffer) 955 { 956 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffer_), boundingBoxBuffer); 957 } 958 959 // property: boundingBoxBufferOffset 960 _MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxBufferOffset() const 961 { 962 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxBufferOffset)); 963 } 964 965 _MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxBufferOffset(NS::UInteger boundingBoxBufferOffset) 966 { 967 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBufferOffset_), boundingBoxBufferOffset); 968 } 969 970 // property: boundingBoxStride 971 _MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxStride() const 972 { 973 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxStride)); 974 } 975 976 _MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride) 977 { 978 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride); 979 } 980 981 // property: boundingBoxCount 982 _MTL_INLINE NS::UInteger MTL::AccelerationStructureBoundingBoxGeometryDescriptor::boundingBoxCount() const 983 { 984 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxCount)); 985 } 986 987 _MTL_INLINE void MTL::AccelerationStructureBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount) 988 { 989 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount); 990 } 991 992 // static method: descriptor 993 _MTL_INLINE MTL::AccelerationStructureBoundingBoxGeometryDescriptor* MTL::AccelerationStructureBoundingBoxGeometryDescriptor::descriptor() 994 { 995 return Object::sendMessage<MTL::AccelerationStructureBoundingBoxGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 996 } 997 998 // static method: alloc 999 _MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::alloc() 1000 { 1001 return NS::Object::alloc<MTL::MotionKeyframeData>(_MTL_PRIVATE_CLS(MTLMotionKeyframeData)); 1002 } 1003 1004 // method: init 1005 _MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::init() 1006 { 1007 return NS::Object::init<MTL::MotionKeyframeData>(); 1008 } 1009 1010 // property: buffer 1011 _MTL_INLINE MTL::Buffer* MTL::MotionKeyframeData::buffer() const 1012 { 1013 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(buffer)); 1014 } 1015 1016 _MTL_INLINE void MTL::MotionKeyframeData::setBuffer(const MTL::Buffer* buffer) 1017 { 1018 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBuffer_), buffer); 1019 } 1020 1021 // property: offset 1022 _MTL_INLINE NS::UInteger MTL::MotionKeyframeData::offset() const 1023 { 1024 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(offset)); 1025 } 1026 1027 _MTL_INLINE void MTL::MotionKeyframeData::setOffset(NS::UInteger offset) 1028 { 1029 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setOffset_), offset); 1030 } 1031 1032 // static method: data 1033 _MTL_INLINE MTL::MotionKeyframeData* MTL::MotionKeyframeData::data() 1034 { 1035 return Object::sendMessage<MTL::MotionKeyframeData*>(_MTL_PRIVATE_CLS(MTLMotionKeyframeData), _MTL_PRIVATE_SEL(data)); 1036 } 1037 1038 // static method: alloc 1039 _MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::alloc() 1040 { 1041 return NS::Object::alloc<MTL::AccelerationStructureMotionTriangleGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor)); 1042 } 1043 1044 // method: init 1045 _MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::init() 1046 { 1047 return NS::Object::init<MTL::AccelerationStructureMotionTriangleGeometryDescriptor>(); 1048 } 1049 1050 // property: vertexBuffers 1051 _MTL_INLINE NS::Array* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexBuffers() const 1052 { 1053 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(vertexBuffers)); 1054 } 1055 1056 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexBuffers(const NS::Array* vertexBuffers) 1057 { 1058 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexBuffers_), vertexBuffers); 1059 } 1060 1061 // property: vertexFormat 1062 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexFormat() const 1063 { 1064 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(vertexFormat)); 1065 } 1066 1067 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexFormat(MTL::AttributeFormat vertexFormat) 1068 { 1069 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexFormat_), vertexFormat); 1070 } 1071 1072 // property: vertexStride 1073 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::vertexStride() const 1074 { 1075 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(vertexStride)); 1076 } 1077 1078 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setVertexStride(NS::UInteger vertexStride) 1079 { 1080 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setVertexStride_), vertexStride); 1081 } 1082 1083 // property: indexBuffer 1084 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBuffer() const 1085 { 1086 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer)); 1087 } 1088 1089 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) 1090 { 1091 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); 1092 } 1093 1094 // property: indexBufferOffset 1095 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexBufferOffset() const 1096 { 1097 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset)); 1098 } 1099 1100 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) 1101 { 1102 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); 1103 } 1104 1105 // property: indexType 1106 _MTL_INLINE MTL::IndexType MTL::AccelerationStructureMotionTriangleGeometryDescriptor::indexType() const 1107 { 1108 return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType)); 1109 } 1110 1111 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setIndexType(MTL::IndexType indexType) 1112 { 1113 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); 1114 } 1115 1116 // property: triangleCount 1117 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::triangleCount() const 1118 { 1119 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(triangleCount)); 1120 } 1121 1122 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTriangleCount(NS::UInteger triangleCount) 1123 { 1124 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTriangleCount_), triangleCount); 1125 } 1126 1127 // property: transformationMatrixBuffer 1128 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixBuffer() const 1129 { 1130 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(transformationMatrixBuffer)); 1131 } 1132 1133 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixBuffer(const MTL::Buffer* transformationMatrixBuffer) 1134 { 1135 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBuffer_), transformationMatrixBuffer); 1136 } 1137 1138 // property: transformationMatrixBufferOffset 1139 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixBufferOffset() const 1140 { 1141 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(transformationMatrixBufferOffset)); 1142 } 1143 1144 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixBufferOffset(NS::UInteger transformationMatrixBufferOffset) 1145 { 1146 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixBufferOffset_), transformationMatrixBufferOffset); 1147 } 1148 1149 // property: transformationMatrixLayout 1150 _MTL_INLINE MTL::MatrixLayout MTL::AccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout() const 1151 { 1152 return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(transformationMatrixLayout)); 1153 } 1154 1155 _MTL_INLINE void MTL::AccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout(MTL::MatrixLayout transformationMatrixLayout) 1156 { 1157 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setTransformationMatrixLayout_), transformationMatrixLayout); 1158 } 1159 1160 // static method: descriptor 1161 _MTL_INLINE MTL::AccelerationStructureMotionTriangleGeometryDescriptor* MTL::AccelerationStructureMotionTriangleGeometryDescriptor::descriptor() 1162 { 1163 return Object::sendMessage<MTL::AccelerationStructureMotionTriangleGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionTriangleGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1164 } 1165 1166 // static method: alloc 1167 _MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::alloc() 1168 { 1169 return NS::Object::alloc<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor)); 1170 } 1171 1172 // method: init 1173 _MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::init() 1174 { 1175 return NS::Object::init<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor>(); 1176 } 1177 1178 // property: boundingBoxBuffers 1179 _MTL_INLINE NS::Array* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxBuffers() const 1180 { 1181 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(boundingBoxBuffers)); 1182 } 1183 1184 _MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxBuffers(const NS::Array* boundingBoxBuffers) 1185 { 1186 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxBuffers_), boundingBoxBuffers); 1187 } 1188 1189 // property: boundingBoxStride 1190 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxStride() const 1191 { 1192 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxStride)); 1193 } 1194 1195 _MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxStride(NS::UInteger boundingBoxStride) 1196 { 1197 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxStride_), boundingBoxStride); 1198 } 1199 1200 // property: boundingBoxCount 1201 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::boundingBoxCount() const 1202 { 1203 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(boundingBoxCount)); 1204 } 1205 1206 _MTL_INLINE void MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::setBoundingBoxCount(NS::UInteger boundingBoxCount) 1207 { 1208 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setBoundingBoxCount_), boundingBoxCount); 1209 } 1210 1211 // static method: descriptor 1212 _MTL_INLINE MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor* MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor::descriptor() 1213 { 1214 return Object::sendMessage<MTL::AccelerationStructureMotionBoundingBoxGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1215 } 1216 1217 // static method: alloc 1218 _MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::alloc() 1219 { 1220 return NS::Object::alloc<MTL::AccelerationStructureCurveGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureCurveGeometryDescriptor)); 1221 } 1222 1223 // method: init 1224 _MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::init() 1225 { 1226 return NS::Object::init<MTL::AccelerationStructureCurveGeometryDescriptor>(); 1227 } 1228 1229 // property: controlPointBuffer 1230 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::controlPointBuffer() const 1231 { 1232 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(controlPointBuffer)); 1233 } 1234 1235 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointBuffer(const MTL::Buffer* controlPointBuffer) 1236 { 1237 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBuffer_), controlPointBuffer); 1238 } 1239 1240 // property: controlPointBufferOffset 1241 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointBufferOffset() const 1242 { 1243 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointBufferOffset)); 1244 } 1245 1246 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointBufferOffset(NS::UInteger controlPointBufferOffset) 1247 { 1248 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBufferOffset_), controlPointBufferOffset); 1249 } 1250 1251 // property: controlPointCount 1252 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointCount() const 1253 { 1254 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointCount)); 1255 } 1256 1257 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointCount(NS::UInteger controlPointCount) 1258 { 1259 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointCount_), controlPointCount); 1260 } 1261 1262 // property: controlPointStride 1263 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::controlPointStride() const 1264 { 1265 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointStride)); 1266 } 1267 1268 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointStride(NS::UInteger controlPointStride) 1269 { 1270 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointStride_), controlPointStride); 1271 } 1272 1273 // property: controlPointFormat 1274 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureCurveGeometryDescriptor::controlPointFormat() const 1275 { 1276 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(controlPointFormat)); 1277 } 1278 1279 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setControlPointFormat(MTL::AttributeFormat controlPointFormat) 1280 { 1281 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointFormat_), controlPointFormat); 1282 } 1283 1284 // property: radiusBuffer 1285 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::radiusBuffer() const 1286 { 1287 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(radiusBuffer)); 1288 } 1289 1290 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusBuffer(const MTL::Buffer* radiusBuffer) 1291 { 1292 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBuffer_), radiusBuffer); 1293 } 1294 1295 // property: radiusBufferOffset 1296 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::radiusBufferOffset() const 1297 { 1298 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusBufferOffset)); 1299 } 1300 1301 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusBufferOffset(NS::UInteger radiusBufferOffset) 1302 { 1303 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBufferOffset_), radiusBufferOffset); 1304 } 1305 1306 // property: radiusFormat 1307 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureCurveGeometryDescriptor::radiusFormat() const 1308 { 1309 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(radiusFormat)); 1310 } 1311 1312 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusFormat(MTL::AttributeFormat radiusFormat) 1313 { 1314 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusFormat_), radiusFormat); 1315 } 1316 1317 // property: radiusStride 1318 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::radiusStride() const 1319 { 1320 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusStride)); 1321 } 1322 1323 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setRadiusStride(NS::UInteger radiusStride) 1324 { 1325 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusStride_), radiusStride); 1326 } 1327 1328 // property: indexBuffer 1329 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureCurveGeometryDescriptor::indexBuffer() const 1330 { 1331 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer)); 1332 } 1333 1334 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) 1335 { 1336 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); 1337 } 1338 1339 // property: indexBufferOffset 1340 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::indexBufferOffset() const 1341 { 1342 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset)); 1343 } 1344 1345 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) 1346 { 1347 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); 1348 } 1349 1350 // property: indexType 1351 _MTL_INLINE MTL::IndexType MTL::AccelerationStructureCurveGeometryDescriptor::indexType() const 1352 { 1353 return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType)); 1354 } 1355 1356 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setIndexType(MTL::IndexType indexType) 1357 { 1358 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); 1359 } 1360 1361 // property: segmentCount 1362 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::segmentCount() const 1363 { 1364 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentCount)); 1365 } 1366 1367 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setSegmentCount(NS::UInteger segmentCount) 1368 { 1369 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentCount_), segmentCount); 1370 } 1371 1372 // property: segmentControlPointCount 1373 _MTL_INLINE NS::UInteger MTL::AccelerationStructureCurveGeometryDescriptor::segmentControlPointCount() const 1374 { 1375 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentControlPointCount)); 1376 } 1377 1378 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setSegmentControlPointCount(NS::UInteger segmentControlPointCount) 1379 { 1380 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentControlPointCount_), segmentControlPointCount); 1381 } 1382 1383 // property: curveType 1384 _MTL_INLINE MTL::CurveType MTL::AccelerationStructureCurveGeometryDescriptor::curveType() const 1385 { 1386 return Object::sendMessage<MTL::CurveType>(this, _MTL_PRIVATE_SEL(curveType)); 1387 } 1388 1389 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveType(MTL::CurveType curveType) 1390 { 1391 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveType_), curveType); 1392 } 1393 1394 // property: curveBasis 1395 _MTL_INLINE MTL::CurveBasis MTL::AccelerationStructureCurveGeometryDescriptor::curveBasis() const 1396 { 1397 return Object::sendMessage<MTL::CurveBasis>(this, _MTL_PRIVATE_SEL(curveBasis)); 1398 } 1399 1400 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveBasis(MTL::CurveBasis curveBasis) 1401 { 1402 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveBasis_), curveBasis); 1403 } 1404 1405 // property: curveEndCaps 1406 _MTL_INLINE MTL::CurveEndCaps MTL::AccelerationStructureCurveGeometryDescriptor::curveEndCaps() const 1407 { 1408 return Object::sendMessage<MTL::CurveEndCaps>(this, _MTL_PRIVATE_SEL(curveEndCaps)); 1409 } 1410 1411 _MTL_INLINE void MTL::AccelerationStructureCurveGeometryDescriptor::setCurveEndCaps(MTL::CurveEndCaps curveEndCaps) 1412 { 1413 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveEndCaps_), curveEndCaps); 1414 } 1415 1416 // static method: descriptor 1417 _MTL_INLINE MTL::AccelerationStructureCurveGeometryDescriptor* MTL::AccelerationStructureCurveGeometryDescriptor::descriptor() 1418 { 1419 return Object::sendMessage<MTL::AccelerationStructureCurveGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureCurveGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1420 } 1421 1422 // static method: alloc 1423 _MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::alloc() 1424 { 1425 return NS::Object::alloc<MTL::AccelerationStructureMotionCurveGeometryDescriptor>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionCurveGeometryDescriptor)); 1426 } 1427 1428 // method: init 1429 _MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::init() 1430 { 1431 return NS::Object::init<MTL::AccelerationStructureMotionCurveGeometryDescriptor>(); 1432 } 1433 1434 // property: controlPointBuffers 1435 _MTL_INLINE NS::Array* MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointBuffers() const 1436 { 1437 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(controlPointBuffers)); 1438 } 1439 1440 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointBuffers(const NS::Array* controlPointBuffers) 1441 { 1442 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointBuffers_), controlPointBuffers); 1443 } 1444 1445 // property: controlPointCount 1446 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointCount() const 1447 { 1448 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointCount)); 1449 } 1450 1451 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointCount(NS::UInteger controlPointCount) 1452 { 1453 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointCount_), controlPointCount); 1454 } 1455 1456 // property: controlPointStride 1457 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointStride() const 1458 { 1459 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(controlPointStride)); 1460 } 1461 1462 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointStride(NS::UInteger controlPointStride) 1463 { 1464 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointStride_), controlPointStride); 1465 } 1466 1467 // property: controlPointFormat 1468 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionCurveGeometryDescriptor::controlPointFormat() const 1469 { 1470 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(controlPointFormat)); 1471 } 1472 1473 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setControlPointFormat(MTL::AttributeFormat controlPointFormat) 1474 { 1475 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setControlPointFormat_), controlPointFormat); 1476 } 1477 1478 // property: radiusBuffers 1479 _MTL_INLINE NS::Array* MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusBuffers() const 1480 { 1481 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(radiusBuffers)); 1482 } 1483 1484 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusBuffers(const NS::Array* radiusBuffers) 1485 { 1486 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusBuffers_), radiusBuffers); 1487 } 1488 1489 // property: radiusFormat 1490 _MTL_INLINE MTL::AttributeFormat MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusFormat() const 1491 { 1492 return Object::sendMessage<MTL::AttributeFormat>(this, _MTL_PRIVATE_SEL(radiusFormat)); 1493 } 1494 1495 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusFormat(MTL::AttributeFormat radiusFormat) 1496 { 1497 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusFormat_), radiusFormat); 1498 } 1499 1500 // property: radiusStride 1501 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::radiusStride() const 1502 { 1503 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(radiusStride)); 1504 } 1505 1506 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setRadiusStride(NS::UInteger radiusStride) 1507 { 1508 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setRadiusStride_), radiusStride); 1509 } 1510 1511 // property: indexBuffer 1512 _MTL_INLINE MTL::Buffer* MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexBuffer() const 1513 { 1514 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(indexBuffer)); 1515 } 1516 1517 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexBuffer(const MTL::Buffer* indexBuffer) 1518 { 1519 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBuffer_), indexBuffer); 1520 } 1521 1522 // property: indexBufferOffset 1523 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexBufferOffset() const 1524 { 1525 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(indexBufferOffset)); 1526 } 1527 1528 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexBufferOffset(NS::UInteger indexBufferOffset) 1529 { 1530 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexBufferOffset_), indexBufferOffset); 1531 } 1532 1533 // property: indexType 1534 _MTL_INLINE MTL::IndexType MTL::AccelerationStructureMotionCurveGeometryDescriptor::indexType() const 1535 { 1536 return Object::sendMessage<MTL::IndexType>(this, _MTL_PRIVATE_SEL(indexType)); 1537 } 1538 1539 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setIndexType(MTL::IndexType indexType) 1540 { 1541 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setIndexType_), indexType); 1542 } 1543 1544 // property: segmentCount 1545 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::segmentCount() const 1546 { 1547 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentCount)); 1548 } 1549 1550 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setSegmentCount(NS::UInteger segmentCount) 1551 { 1552 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentCount_), segmentCount); 1553 } 1554 1555 // property: segmentControlPointCount 1556 _MTL_INLINE NS::UInteger MTL::AccelerationStructureMotionCurveGeometryDescriptor::segmentControlPointCount() const 1557 { 1558 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(segmentControlPointCount)); 1559 } 1560 1561 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setSegmentControlPointCount(NS::UInteger segmentControlPointCount) 1562 { 1563 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setSegmentControlPointCount_), segmentControlPointCount); 1564 } 1565 1566 // property: curveType 1567 _MTL_INLINE MTL::CurveType MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveType() const 1568 { 1569 return Object::sendMessage<MTL::CurveType>(this, _MTL_PRIVATE_SEL(curveType)); 1570 } 1571 1572 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveType(MTL::CurveType curveType) 1573 { 1574 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveType_), curveType); 1575 } 1576 1577 // property: curveBasis 1578 _MTL_INLINE MTL::CurveBasis MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveBasis() const 1579 { 1580 return Object::sendMessage<MTL::CurveBasis>(this, _MTL_PRIVATE_SEL(curveBasis)); 1581 } 1582 1583 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveBasis(MTL::CurveBasis curveBasis) 1584 { 1585 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveBasis_), curveBasis); 1586 } 1587 1588 // property: curveEndCaps 1589 _MTL_INLINE MTL::CurveEndCaps MTL::AccelerationStructureMotionCurveGeometryDescriptor::curveEndCaps() const 1590 { 1591 return Object::sendMessage<MTL::CurveEndCaps>(this, _MTL_PRIVATE_SEL(curveEndCaps)); 1592 } 1593 1594 _MTL_INLINE void MTL::AccelerationStructureMotionCurveGeometryDescriptor::setCurveEndCaps(MTL::CurveEndCaps curveEndCaps) 1595 { 1596 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setCurveEndCaps_), curveEndCaps); 1597 } 1598 1599 // static method: descriptor 1600 _MTL_INLINE MTL::AccelerationStructureMotionCurveGeometryDescriptor* MTL::AccelerationStructureMotionCurveGeometryDescriptor::descriptor() 1601 { 1602 return Object::sendMessage<MTL::AccelerationStructureMotionCurveGeometryDescriptor*>(_MTL_PRIVATE_CLS(MTLAccelerationStructureMotionCurveGeometryDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1603 } 1604 1605 // static method: alloc 1606 _MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::alloc() 1607 { 1608 return NS::Object::alloc<MTL::InstanceAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor)); 1609 } 1610 1611 // method: init 1612 _MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::init() 1613 { 1614 return NS::Object::init<MTL::InstanceAccelerationStructureDescriptor>(); 1615 } 1616 1617 // property: instanceDescriptorBuffer 1618 _MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBuffer() const 1619 { 1620 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceDescriptorBuffer)); 1621 } 1622 1623 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer) 1624 { 1625 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBuffer_), instanceDescriptorBuffer); 1626 } 1627 1628 // property: instanceDescriptorBufferOffset 1629 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorBufferOffset() const 1630 { 1631 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorBufferOffset)); 1632 } 1633 1634 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset) 1635 { 1636 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBufferOffset_), instanceDescriptorBufferOffset); 1637 } 1638 1639 // property: instanceDescriptorStride 1640 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorStride() const 1641 { 1642 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorStride)); 1643 } 1644 1645 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride) 1646 { 1647 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorStride_), instanceDescriptorStride); 1648 } 1649 1650 // property: instanceCount 1651 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::instanceCount() const 1652 { 1653 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceCount)); 1654 } 1655 1656 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceCount(NS::UInteger instanceCount) 1657 { 1658 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCount_), instanceCount); 1659 } 1660 1661 // property: instancedAccelerationStructures 1662 _MTL_INLINE NS::Array* MTL::InstanceAccelerationStructureDescriptor::instancedAccelerationStructures() const 1663 { 1664 return Object::sendMessage<NS::Array*>(this, _MTL_PRIVATE_SEL(instancedAccelerationStructures)); 1665 } 1666 1667 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstancedAccelerationStructures(const NS::Array* instancedAccelerationStructures) 1668 { 1669 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstancedAccelerationStructures_), instancedAccelerationStructures); 1670 } 1671 1672 // property: instanceDescriptorType 1673 _MTL_INLINE MTL::AccelerationStructureInstanceDescriptorType MTL::InstanceAccelerationStructureDescriptor::instanceDescriptorType() const 1674 { 1675 return Object::sendMessage<MTL::AccelerationStructureInstanceDescriptorType>(this, _MTL_PRIVATE_SEL(instanceDescriptorType)); 1676 } 1677 1678 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType) 1679 { 1680 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorType_), instanceDescriptorType); 1681 } 1682 1683 // property: motionTransformBuffer 1684 _MTL_INLINE MTL::Buffer* MTL::InstanceAccelerationStructureDescriptor::motionTransformBuffer() const 1685 { 1686 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformBuffer)); 1687 } 1688 1689 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer) 1690 { 1691 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBuffer_), motionTransformBuffer); 1692 } 1693 1694 // property: motionTransformBufferOffset 1695 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformBufferOffset() const 1696 { 1697 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformBufferOffset)); 1698 } 1699 1700 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset) 1701 { 1702 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBufferOffset_), motionTransformBufferOffset); 1703 } 1704 1705 // property: motionTransformCount 1706 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformCount() const 1707 { 1708 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformCount)); 1709 } 1710 1711 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformCount(NS::UInteger motionTransformCount) 1712 { 1713 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCount_), motionTransformCount); 1714 } 1715 1716 // property: instanceTransformationMatrixLayout 1717 _MTL_INLINE MTL::MatrixLayout MTL::InstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout() const 1718 { 1719 return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(instanceTransformationMatrixLayout)); 1720 } 1721 1722 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout) 1723 { 1724 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceTransformationMatrixLayout_), instanceTransformationMatrixLayout); 1725 } 1726 1727 // property: motionTransformType 1728 _MTL_INLINE MTL::TransformType MTL::InstanceAccelerationStructureDescriptor::motionTransformType() const 1729 { 1730 return Object::sendMessage<MTL::TransformType>(this, _MTL_PRIVATE_SEL(motionTransformType)); 1731 } 1732 1733 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformType(MTL::TransformType motionTransformType) 1734 { 1735 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformType_), motionTransformType); 1736 } 1737 1738 // property: motionTransformStride 1739 _MTL_INLINE NS::UInteger MTL::InstanceAccelerationStructureDescriptor::motionTransformStride() const 1740 { 1741 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformStride)); 1742 } 1743 1744 _MTL_INLINE void MTL::InstanceAccelerationStructureDescriptor::setMotionTransformStride(NS::UInteger motionTransformStride) 1745 { 1746 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformStride_), motionTransformStride); 1747 } 1748 1749 // static method: descriptor 1750 _MTL_INLINE MTL::InstanceAccelerationStructureDescriptor* MTL::InstanceAccelerationStructureDescriptor::descriptor() 1751 { 1752 return Object::sendMessage<MTL::InstanceAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLInstanceAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1753 } 1754 1755 // static method: alloc 1756 _MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::alloc() 1757 { 1758 return NS::Object::alloc<MTL::IndirectInstanceAccelerationStructureDescriptor>(_MTL_PRIVATE_CLS(MTLIndirectInstanceAccelerationStructureDescriptor)); 1759 } 1760 1761 // method: init 1762 _MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::init() 1763 { 1764 return NS::Object::init<MTL::IndirectInstanceAccelerationStructureDescriptor>(); 1765 } 1766 1767 // property: instanceDescriptorBuffer 1768 _MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorBuffer() const 1769 { 1770 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceDescriptorBuffer)); 1771 } 1772 1773 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorBuffer(const MTL::Buffer* instanceDescriptorBuffer) 1774 { 1775 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBuffer_), instanceDescriptorBuffer); 1776 } 1777 1778 // property: instanceDescriptorBufferOffset 1779 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorBufferOffset() const 1780 { 1781 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorBufferOffset)); 1782 } 1783 1784 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorBufferOffset(NS::UInteger instanceDescriptorBufferOffset) 1785 { 1786 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorBufferOffset_), instanceDescriptorBufferOffset); 1787 } 1788 1789 // property: instanceDescriptorStride 1790 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorStride() const 1791 { 1792 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceDescriptorStride)); 1793 } 1794 1795 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorStride(NS::UInteger instanceDescriptorStride) 1796 { 1797 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorStride_), instanceDescriptorStride); 1798 } 1799 1800 // property: maxInstanceCount 1801 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::maxInstanceCount() const 1802 { 1803 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxInstanceCount)); 1804 } 1805 1806 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMaxInstanceCount(NS::UInteger maxInstanceCount) 1807 { 1808 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxInstanceCount_), maxInstanceCount); 1809 } 1810 1811 // property: instanceCountBuffer 1812 _MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::instanceCountBuffer() const 1813 { 1814 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(instanceCountBuffer)); 1815 } 1816 1817 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceCountBuffer(const MTL::Buffer* instanceCountBuffer) 1818 { 1819 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCountBuffer_), instanceCountBuffer); 1820 } 1821 1822 // property: instanceCountBufferOffset 1823 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::instanceCountBufferOffset() const 1824 { 1825 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(instanceCountBufferOffset)); 1826 } 1827 1828 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceCountBufferOffset(NS::UInteger instanceCountBufferOffset) 1829 { 1830 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceCountBufferOffset_), instanceCountBufferOffset); 1831 } 1832 1833 // property: instanceDescriptorType 1834 _MTL_INLINE MTL::AccelerationStructureInstanceDescriptorType MTL::IndirectInstanceAccelerationStructureDescriptor::instanceDescriptorType() const 1835 { 1836 return Object::sendMessage<MTL::AccelerationStructureInstanceDescriptorType>(this, _MTL_PRIVATE_SEL(instanceDescriptorType)); 1837 } 1838 1839 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceDescriptorType(MTL::AccelerationStructureInstanceDescriptorType instanceDescriptorType) 1840 { 1841 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceDescriptorType_), instanceDescriptorType); 1842 } 1843 1844 // property: motionTransformBuffer 1845 _MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformBuffer() const 1846 { 1847 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformBuffer)); 1848 } 1849 1850 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformBuffer(const MTL::Buffer* motionTransformBuffer) 1851 { 1852 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBuffer_), motionTransformBuffer); 1853 } 1854 1855 // property: motionTransformBufferOffset 1856 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformBufferOffset() const 1857 { 1858 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformBufferOffset)); 1859 } 1860 1861 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformBufferOffset(NS::UInteger motionTransformBufferOffset) 1862 { 1863 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformBufferOffset_), motionTransformBufferOffset); 1864 } 1865 1866 // property: maxMotionTransformCount 1867 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::maxMotionTransformCount() const 1868 { 1869 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(maxMotionTransformCount)); 1870 } 1871 1872 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMaxMotionTransformCount(NS::UInteger maxMotionTransformCount) 1873 { 1874 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMaxMotionTransformCount_), maxMotionTransformCount); 1875 } 1876 1877 // property: motionTransformCountBuffer 1878 _MTL_INLINE MTL::Buffer* MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformCountBuffer() const 1879 { 1880 return Object::sendMessage<MTL::Buffer*>(this, _MTL_PRIVATE_SEL(motionTransformCountBuffer)); 1881 } 1882 1883 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformCountBuffer(const MTL::Buffer* motionTransformCountBuffer) 1884 { 1885 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCountBuffer_), motionTransformCountBuffer); 1886 } 1887 1888 // property: motionTransformCountBufferOffset 1889 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformCountBufferOffset() const 1890 { 1891 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformCountBufferOffset)); 1892 } 1893 1894 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformCountBufferOffset(NS::UInteger motionTransformCountBufferOffset) 1895 { 1896 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformCountBufferOffset_), motionTransformCountBufferOffset); 1897 } 1898 1899 // property: instanceTransformationMatrixLayout 1900 _MTL_INLINE MTL::MatrixLayout MTL::IndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout() const 1901 { 1902 return Object::sendMessage<MTL::MatrixLayout>(this, _MTL_PRIVATE_SEL(instanceTransformationMatrixLayout)); 1903 } 1904 1905 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout(MTL::MatrixLayout instanceTransformationMatrixLayout) 1906 { 1907 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setInstanceTransformationMatrixLayout_), instanceTransformationMatrixLayout); 1908 } 1909 1910 // property: motionTransformType 1911 _MTL_INLINE MTL::TransformType MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformType() const 1912 { 1913 return Object::sendMessage<MTL::TransformType>(this, _MTL_PRIVATE_SEL(motionTransformType)); 1914 } 1915 1916 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformType(MTL::TransformType motionTransformType) 1917 { 1918 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformType_), motionTransformType); 1919 } 1920 1921 // property: motionTransformStride 1922 _MTL_INLINE NS::UInteger MTL::IndirectInstanceAccelerationStructureDescriptor::motionTransformStride() const 1923 { 1924 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(motionTransformStride)); 1925 } 1926 1927 _MTL_INLINE void MTL::IndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride(NS::UInteger motionTransformStride) 1928 { 1929 Object::sendMessage<void>(this, _MTL_PRIVATE_SEL(setMotionTransformStride_), motionTransformStride); 1930 } 1931 1932 // static method: descriptor 1933 _MTL_INLINE MTL::IndirectInstanceAccelerationStructureDescriptor* MTL::IndirectInstanceAccelerationStructureDescriptor::descriptor() 1934 { 1935 return Object::sendMessage<MTL::IndirectInstanceAccelerationStructureDescriptor*>(_MTL_PRIVATE_CLS(MTLIndirectInstanceAccelerationStructureDescriptor), _MTL_PRIVATE_SEL(descriptor)); 1936 } 1937 1938 // property: size 1939 _MTL_INLINE NS::UInteger MTL::AccelerationStructure::size() const 1940 { 1941 return Object::sendMessage<NS::UInteger>(this, _MTL_PRIVATE_SEL(size)); 1942 } 1943 1944 // property: gpuResourceID 1945 _MTL_INLINE MTL::ResourceID MTL::AccelerationStructure::gpuResourceID() const 1946 { 1947 return Object::sendMessage<MTL::ResourceID>(this, _MTL_PRIVATE_SEL(gpuResourceID)); 1948 }