yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
develop
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// Metal/MTLAccelerationStructure.hpp 4// 5// Copyright 2020-2021 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 34namespace MTL 35{ 36_MTL_OPTIONS (NS ::UInteger ,AccelerationStructureUsage ) { 37AccelerationStructureUsageNone = 0 , 38AccelerationStructureUsageRefit = 1 , 39AccelerationStructureUsagePreferFastBuild = 2 , 40AccelerationStructureUsageExtendedLimits = 4 , 41}; 42 43_MTL_OPTIONS (uint32_t ,AccelerationStructureInstanceOptions ) { 44AccelerationStructureInstanceOptionNone = 0 , 45AccelerationStructureInstanceOptionDisableTriangleCulling = 1 , 46AccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise = 2 , 47AccelerationStructureInstanceOptionOpaque = 4 , 48AccelerationStructureInstanceOptionNonOpaque = 8 , 49}; 50 51class AccelerationStructureDescriptor :public NS ::Copying < AccelerationStructureDescriptor > 52{ 53public : 54static class AccelerationStructureDescriptor * alloc (); 55 56class AccelerationStructureDescriptor * init (); 57 58MTL ::AccelerationStructureUsage usage ()const ; 59void setUsage (MTL ::AccelerationStructureUsage usage ); 60}; 61 62class AccelerationStructureGeometryDescriptor :public NS ::Copying < AccelerationStructureGeometryDescriptor > 63{ 64public : 65static class AccelerationStructureGeometryDescriptor * alloc (); 66 67class AccelerationStructureGeometryDescriptor * init (); 68 69NS ::UInteger intersectionFunctionTableOffset ()const ; 70void setIntersectionFunctionTableOffset (NS ::UInteger intersectionFunctionTableOffset ); 71 72bool opaque ()const ; 73void setOpaque (bool opaque ); 74 75bool allowDuplicateIntersectionFunctionInvocation ()const ; 76void setAllowDuplicateIntersectionFunctionInvocation (bool allowDuplicateIntersectionFunctionInvocation ); 77 78NS ::String * label ()const ; 79void setLabel (const NS ::String * label ); 80}; 81 82_MTL_ENUM (uint32_t ,MotionBorderMode ) { 83MotionBorderModeClamp = 0 , 84MotionBorderModeVanish = 1 , 85}; 86 87class PrimitiveAccelerationStructureDescriptor :public NS ::Copying < PrimitiveAccelerationStructureDescriptor ,MTL ::AccelerationStructureDescriptor > 88{ 89public : 90static class PrimitiveAccelerationStructureDescriptor * alloc (); 91 92class PrimitiveAccelerationStructureDescriptor * init (); 93 94NS ::Array * geometryDescriptors ()const ; 95void setGeometryDescriptors (const NS ::Array * geometryDescriptors ); 96 97MTL ::MotionBorderMode motionStartBorderMode ()const ; 98void setMotionStartBorderMode (MTL ::MotionBorderMode motionStartBorderMode ); 99 100MTL ::MotionBorderMode motionEndBorderMode ()const ; 101void setMotionEndBorderMode (MTL ::MotionBorderMode motionEndBorderMode ); 102 103float motionStartTime ()const ; 104void setMotionStartTime (float motionStartTime ); 105 106float motionEndTime ()const ; 107void setMotionEndTime (float motionEndTime ); 108 109NS ::UInteger motionKeyframeCount ()const ; 110void setMotionKeyframeCount (NS ::UInteger motionKeyframeCount ); 111 112static MTL ::PrimitiveAccelerationStructureDescriptor * descriptor (); 113}; 114 115class AccelerationStructureTriangleGeometryDescriptor :public NS ::Copying < AccelerationStructureTriangleGeometryDescriptor ,MTL ::AccelerationStructureGeometryDescriptor > 116{ 117public : 118static class AccelerationStructureTriangleGeometryDescriptor * alloc (); 119 120class AccelerationStructureTriangleGeometryDescriptor * init (); 121 122class Buffer * vertexBuffer ()const ; 123void setVertexBuffer (const class Buffer * vertexBuffer ); 124 125NS ::UInteger vertexBufferOffset ()const ; 126void setVertexBufferOffset (NS ::UInteger vertexBufferOffset ); 127 128NS ::UInteger vertexStride ()const ; 129void setVertexStride (NS ::UInteger vertexStride ); 130 131class Buffer * indexBuffer ()const ; 132void setIndexBuffer (const class Buffer * indexBuffer ); 133 134NS ::UInteger indexBufferOffset ()const ; 135void setIndexBufferOffset (NS ::UInteger indexBufferOffset ); 136 137MTL ::IndexType indexType ()const ; 138void setIndexType (MTL ::IndexType indexType ); 139 140NS ::UInteger triangleCount ()const ; 141void setTriangleCount (NS ::UInteger triangleCount ); 142 143static MTL ::AccelerationStructureTriangleGeometryDescriptor * descriptor (); 144}; 145 146class AccelerationStructureBoundingBoxGeometryDescriptor :public NS ::Copying < AccelerationStructureBoundingBoxGeometryDescriptor ,MTL ::AccelerationStructureGeometryDescriptor > 147{ 148public : 149static class AccelerationStructureBoundingBoxGeometryDescriptor * alloc (); 150 151class AccelerationStructureBoundingBoxGeometryDescriptor * init (); 152 153class Buffer * boundingBoxBuffer ()const ; 154void setBoundingBoxBuffer (const class Buffer * boundingBoxBuffer ); 155 156NS ::UInteger boundingBoxBufferOffset ()const ; 157void setBoundingBoxBufferOffset (NS ::UInteger boundingBoxBufferOffset ); 158 159NS ::UInteger boundingBoxStride ()const ; 160void setBoundingBoxStride (NS ::UInteger boundingBoxStride ); 161 162NS ::UInteger boundingBoxCount ()const ; 163void setBoundingBoxCount (NS ::UInteger boundingBoxCount ); 164 165static MTL ::AccelerationStructureBoundingBoxGeometryDescriptor * descriptor (); 166}; 167 168class MotionKeyframeData :public NS ::Referencing < MotionKeyframeData > 169{ 170public : 171static class MotionKeyframeData * alloc (); 172 173class MotionKeyframeData * init (); 174 175class Buffer * buffer ()const ; 176void setBuffer (const class Buffer * buffer ); 177 178NS ::UInteger offset ()const ; 179void setOffset (NS ::UInteger offset ); 180 181static MTL ::MotionKeyframeData * data (); 182}; 183 184class AccelerationStructureMotionTriangleGeometryDescriptor :public NS ::Copying < AccelerationStructureMotionTriangleGeometryDescriptor ,MTL ::AccelerationStructureGeometryDescriptor > 185{ 186public : 187static class AccelerationStructureMotionTriangleGeometryDescriptor * alloc (); 188 189class AccelerationStructureMotionTriangleGeometryDescriptor * init (); 190 191NS ::Array * vertexBuffers ()const ; 192void setVertexBuffers (const NS ::Array * vertexBuffers ); 193 194NS ::UInteger vertexStride ()const ; 195void setVertexStride (NS ::UInteger vertexStride ); 196 197class Buffer * indexBuffer ()const ; 198void setIndexBuffer (const class Buffer * indexBuffer ); 199 200NS ::UInteger indexBufferOffset ()const ; 201void setIndexBufferOffset (NS ::UInteger indexBufferOffset ); 202 203MTL ::IndexType indexType ()const ; 204void setIndexType (MTL ::IndexType indexType ); 205 206NS ::UInteger triangleCount ()const ; 207void setTriangleCount (NS ::UInteger triangleCount ); 208 209static MTL ::AccelerationStructureMotionTriangleGeometryDescriptor * descriptor (); 210}; 211 212class AccelerationStructureMotionBoundingBoxGeometryDescriptor :public NS ::Copying < AccelerationStructureMotionBoundingBoxGeometryDescriptor ,MTL ::AccelerationStructureGeometryDescriptor > 213{ 214public : 215static class AccelerationStructureMotionBoundingBoxGeometryDescriptor * alloc (); 216 217class AccelerationStructureMotionBoundingBoxGeometryDescriptor * init (); 218 219NS ::Array * boundingBoxBuffers ()const ; 220void setBoundingBoxBuffers (const NS ::Array * boundingBoxBuffers ); 221 222NS ::UInteger boundingBoxStride ()const ; 223void setBoundingBoxStride (NS ::UInteger boundingBoxStride ); 224 225NS ::UInteger boundingBoxCount ()const ; 226void setBoundingBoxCount (NS ::UInteger boundingBoxCount ); 227 228static MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor * descriptor (); 229}; 230 231struct AccelerationStructureInstanceDescriptor 232{ 233MTL ::PackedFloat4x3 transformationMatrix ; 234MTL ::AccelerationStructureInstanceOptions options ; 235uint32_t mask ; 236uint32_t intersectionFunctionTableOffset ; 237uint32_t accelerationStructureIndex ; 238}_MTL_PACKED ; 239 240struct AccelerationStructureUserIDInstanceDescriptor 241{ 242MTL ::PackedFloat4x3 transformationMatrix ; 243MTL ::AccelerationStructureInstanceOptions options ; 244uint32_t mask ; 245uint32_t intersectionFunctionTableOffset ; 246uint32_t accelerationStructureIndex ; 247uint32_t userID ; 248}_MTL_PACKED ; 249 250_MTL_ENUM (NS ::UInteger ,AccelerationStructureInstanceDescriptorType ) { 251AccelerationStructureInstanceDescriptorTypeDefault = 0 , 252AccelerationStructureInstanceDescriptorTypeUserID = 1 , 253AccelerationStructureInstanceDescriptorTypeMotion = 2 , 254}; 255 256struct AccelerationStructureMotionInstanceDescriptor 257{ 258MTL ::AccelerationStructureInstanceOptions options ; 259uint32_t mask ; 260uint32_t intersectionFunctionTableOffset ; 261uint32_t accelerationStructureIndex ; 262uint32_t userID ; 263uint32_t motionTransformsStartIndex ; 264uint32_t motionTransformsCount ; 265MTL ::MotionBorderMode motionStartBorderMode ; 266MTL ::MotionBorderMode motionEndBorderMode ; 267float motionStartTime ; 268float motionEndTime ; 269}_MTL_PACKED ; 270 271class InstanceAccelerationStructureDescriptor :public NS ::Copying < InstanceAccelerationStructureDescriptor ,MTL ::AccelerationStructureDescriptor > 272{ 273public : 274static class InstanceAccelerationStructureDescriptor * alloc (); 275 276class InstanceAccelerationStructureDescriptor * init (); 277 278class Buffer * instanceDescriptorBuffer ()const ; 279void setInstanceDescriptorBuffer (const class Buffer * instanceDescriptorBuffer ); 280 281NS ::UInteger instanceDescriptorBufferOffset ()const ; 282void setInstanceDescriptorBufferOffset (NS ::UInteger instanceDescriptorBufferOffset ); 283 284NS ::UInteger instanceDescriptorStride ()const ; 285void setInstanceDescriptorStride (NS ::UInteger instanceDescriptorStride ); 286 287NS ::UInteger instanceCount ()const ; 288void setInstanceCount (NS ::UInteger instanceCount ); 289 290NS ::Array * instancedAccelerationStructures ()const ; 291void setInstancedAccelerationStructures (const NS ::Array * instancedAccelerationStructures ); 292 293MTL ::AccelerationStructureInstanceDescriptorType instanceDescriptorType ()const ; 294void setInstanceDescriptorType (MTL ::AccelerationStructureInstanceDescriptorType instanceDescriptorType ); 295 296class Buffer * motionTransformBuffer ()const ; 297void setMotionTransformBuffer (const class Buffer * motionTransformBuffer ); 298 299NS ::UInteger motionTransformBufferOffset ()const ; 300void setMotionTransformBufferOffset (NS ::UInteger motionTransformBufferOffset ); 301 302NS ::UInteger motionTransformCount ()const ; 303void setMotionTransformCount (NS ::UInteger motionTransformCount ); 304 305static MTL ::InstanceAccelerationStructureDescriptor * descriptor (); 306}; 307 308class AccelerationStructure :public NS ::Referencing < AccelerationStructure ,Resource > 309{ 310public : 311NS ::UInteger size ()const ; 312}; 313 314} 315 316// static method: alloc 317_MTL_INLINE MTL ::AccelerationStructureDescriptor * MTL ::AccelerationStructureDescriptor ::alloc () 318{ 319return NS ::Object ::alloc < MTL ::AccelerationStructureDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureDescriptor )); 320} 321 322// method: init 323_MTL_INLINE MTL ::AccelerationStructureDescriptor * MTL ::AccelerationStructureDescriptor ::init () 324{ 325return NS ::Object ::init < MTL ::AccelerationStructureDescriptor > (); 326} 327 328// property: usage 329_MTL_INLINE MTL ::AccelerationStructureUsage MTL ::AccelerationStructureDescriptor ::usage ()const 330{ 331return Object ::sendMessage < MTL ::AccelerationStructureUsage > (this ,_MTL_PRIVATE_SEL (usage )); 332} 333 334_MTL_INLINE voidMTL ::AccelerationStructureDescriptor ::setUsage (MTL ::AccelerationStructureUsage usage ) 335{ 336Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setUsage_ ),usage ); 337} 338 339// static method: alloc 340_MTL_INLINE MTL ::AccelerationStructureGeometryDescriptor * MTL ::AccelerationStructureGeometryDescriptor ::alloc () 341{ 342return NS ::Object ::alloc < MTL ::AccelerationStructureGeometryDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureGeometryDescriptor )); 343} 344 345// method: init 346_MTL_INLINE MTL ::AccelerationStructureGeometryDescriptor * MTL ::AccelerationStructureGeometryDescriptor ::init () 347{ 348return NS ::Object ::init < MTL ::AccelerationStructureGeometryDescriptor > (); 349} 350 351// property: intersectionFunctionTableOffset 352_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureGeometryDescriptor ::intersectionFunctionTableOffset ()const 353{ 354return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (intersectionFunctionTableOffset )); 355} 356 357_MTL_INLINE voidMTL ::AccelerationStructureGeometryDescriptor ::setIntersectionFunctionTableOffset (NS ::UInteger intersectionFunctionTableOffset ) 358{ 359Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIntersectionFunctionTableOffset_ ),intersectionFunctionTableOffset ); 360} 361 362// property: opaque 363_MTL_INLINE boolMTL ::AccelerationStructureGeometryDescriptor ::opaque ()const 364{ 365return Object ::sendMessage < bool > (this ,_MTL_PRIVATE_SEL (opaque )); 366} 367 368_MTL_INLINE voidMTL ::AccelerationStructureGeometryDescriptor ::setOpaque (bool opaque ) 369{ 370Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setOpaque_ ),opaque ); 371} 372 373// property: allowDuplicateIntersectionFunctionInvocation 374_MTL_INLINE boolMTL ::AccelerationStructureGeometryDescriptor ::allowDuplicateIntersectionFunctionInvocation ()const 375{ 376return Object ::sendMessage < bool > (this ,_MTL_PRIVATE_SEL (allowDuplicateIntersectionFunctionInvocation )); 377} 378 379_MTL_INLINE voidMTL ::AccelerationStructureGeometryDescriptor ::setAllowDuplicateIntersectionFunctionInvocation (bool allowDuplicateIntersectionFunctionInvocation ) 380{ 381Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setAllowDuplicateIntersectionFunctionInvocation_ ),allowDuplicateIntersectionFunctionInvocation ); 382} 383 384// property: label 385_MTL_INLINE NS ::String * MTL ::AccelerationStructureGeometryDescriptor ::label ()const 386{ 387return Object ::sendMessage < NS ::String *> (this ,_MTL_PRIVATE_SEL (label )); 388} 389 390_MTL_INLINE voidMTL ::AccelerationStructureGeometryDescriptor ::setLabel (const NS ::String * label ) 391{ 392Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setLabel_ ),label ); 393} 394 395// static method: alloc 396_MTL_INLINE MTL ::PrimitiveAccelerationStructureDescriptor * MTL ::PrimitiveAccelerationStructureDescriptor ::alloc () 397{ 398return NS ::Object ::alloc < MTL ::PrimitiveAccelerationStructureDescriptor > (_MTL_PRIVATE_CLS (MTLPrimitiveAccelerationStructureDescriptor )); 399} 400 401// method: init 402_MTL_INLINE MTL ::PrimitiveAccelerationStructureDescriptor * MTL ::PrimitiveAccelerationStructureDescriptor ::init () 403{ 404return NS ::Object ::init < MTL ::PrimitiveAccelerationStructureDescriptor > (); 405} 406 407// property: geometryDescriptors 408_MTL_INLINE NS ::Array * MTL ::PrimitiveAccelerationStructureDescriptor ::geometryDescriptors ()const 409{ 410return Object ::sendMessage < NS ::Array *> (this ,_MTL_PRIVATE_SEL (geometryDescriptors )); 411} 412 413_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setGeometryDescriptors (const NS ::Array * geometryDescriptors ) 414{ 415Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setGeometryDescriptors_ ),geometryDescriptors ); 416} 417 418// property: motionStartBorderMode 419_MTL_INLINE MTL ::MotionBorderMode MTL ::PrimitiveAccelerationStructureDescriptor ::motionStartBorderMode ()const 420{ 421return Object ::sendMessage < MTL ::MotionBorderMode > (this ,_MTL_PRIVATE_SEL (motionStartBorderMode )); 422} 423 424_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setMotionStartBorderMode (MTL ::MotionBorderMode motionStartBorderMode ) 425{ 426Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionStartBorderMode_ ),motionStartBorderMode ); 427} 428 429// property: motionEndBorderMode 430_MTL_INLINE MTL ::MotionBorderMode MTL ::PrimitiveAccelerationStructureDescriptor ::motionEndBorderMode ()const 431{ 432return Object ::sendMessage < MTL ::MotionBorderMode > (this ,_MTL_PRIVATE_SEL (motionEndBorderMode )); 433} 434 435_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setMotionEndBorderMode (MTL ::MotionBorderMode motionEndBorderMode ) 436{ 437Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionEndBorderMode_ ),motionEndBorderMode ); 438} 439 440// property: motionStartTime 441_MTL_INLINE floatMTL ::PrimitiveAccelerationStructureDescriptor ::motionStartTime ()const 442{ 443return Object ::sendMessage < float > (this ,_MTL_PRIVATE_SEL (motionStartTime )); 444} 445 446_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setMotionStartTime (float motionStartTime ) 447{ 448Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionStartTime_ ),motionStartTime ); 449} 450 451// property: motionEndTime 452_MTL_INLINE floatMTL ::PrimitiveAccelerationStructureDescriptor ::motionEndTime ()const 453{ 454return Object ::sendMessage < float > (this ,_MTL_PRIVATE_SEL (motionEndTime )); 455} 456 457_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setMotionEndTime (float motionEndTime ) 458{ 459Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionEndTime_ ),motionEndTime ); 460} 461 462// property: motionKeyframeCount 463_MTL_INLINE NS ::UInteger MTL ::PrimitiveAccelerationStructureDescriptor ::motionKeyframeCount ()const 464{ 465return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (motionKeyframeCount )); 466} 467 468_MTL_INLINE voidMTL ::PrimitiveAccelerationStructureDescriptor ::setMotionKeyframeCount (NS ::UInteger motionKeyframeCount ) 469{ 470Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionKeyframeCount_ ),motionKeyframeCount ); 471} 472 473// static method: descriptor 474_MTL_INLINE MTL ::PrimitiveAccelerationStructureDescriptor * MTL ::PrimitiveAccelerationStructureDescriptor ::descriptor () 475{ 476return Object ::sendMessage < MTL ::PrimitiveAccelerationStructureDescriptor *> (_MTL_PRIVATE_CLS (MTLPrimitiveAccelerationStructureDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 477} 478 479// static method: alloc 480_MTL_INLINE MTL ::AccelerationStructureTriangleGeometryDescriptor * MTL ::AccelerationStructureTriangleGeometryDescriptor ::alloc () 481{ 482return NS ::Object ::alloc < MTL ::AccelerationStructureTriangleGeometryDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureTriangleGeometryDescriptor )); 483} 484 485// method: init 486_MTL_INLINE MTL ::AccelerationStructureTriangleGeometryDescriptor * MTL ::AccelerationStructureTriangleGeometryDescriptor ::init () 487{ 488return NS ::Object ::init < MTL ::AccelerationStructureTriangleGeometryDescriptor > (); 489} 490 491// property: vertexBuffer 492_MTL_INLINE MTL ::Buffer * MTL ::AccelerationStructureTriangleGeometryDescriptor ::vertexBuffer ()const 493{ 494return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (vertexBuffer )); 495} 496 497_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setVertexBuffer (const MTL ::Buffer * vertexBuffer ) 498{ 499Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBuffer_ ),vertexBuffer ); 500} 501 502// property: vertexBufferOffset 503_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureTriangleGeometryDescriptor ::vertexBufferOffset ()const 504{ 505return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (vertexBufferOffset )); 506} 507 508_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setVertexBufferOffset (NS ::UInteger vertexBufferOffset ) 509{ 510Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBufferOffset_ ),vertexBufferOffset ); 511} 512 513// property: vertexStride 514_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureTriangleGeometryDescriptor ::vertexStride ()const 515{ 516return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (vertexStride )); 517} 518 519_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setVertexStride (NS ::UInteger vertexStride ) 520{ 521Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexStride_ ),vertexStride ); 522} 523 524// property: indexBuffer 525_MTL_INLINE MTL ::Buffer * MTL ::AccelerationStructureTriangleGeometryDescriptor ::indexBuffer ()const 526{ 527return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (indexBuffer )); 528} 529 530_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setIndexBuffer (const MTL ::Buffer * indexBuffer ) 531{ 532Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexBuffer_ ),indexBuffer ); 533} 534 535// property: indexBufferOffset 536_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureTriangleGeometryDescriptor ::indexBufferOffset ()const 537{ 538return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (indexBufferOffset )); 539} 540 541_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setIndexBufferOffset (NS ::UInteger indexBufferOffset ) 542{ 543Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexBufferOffset_ ),indexBufferOffset ); 544} 545 546// property: indexType 547_MTL_INLINE MTL ::IndexType MTL ::AccelerationStructureTriangleGeometryDescriptor ::indexType ()const 548{ 549return Object ::sendMessage < MTL ::IndexType > (this ,_MTL_PRIVATE_SEL (indexType )); 550} 551 552_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setIndexType (MTL ::IndexType indexType ) 553{ 554Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexType_ ),indexType ); 555} 556 557// property: triangleCount 558_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureTriangleGeometryDescriptor ::triangleCount ()const 559{ 560return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (triangleCount )); 561} 562 563_MTL_INLINE voidMTL ::AccelerationStructureTriangleGeometryDescriptor ::setTriangleCount (NS ::UInteger triangleCount ) 564{ 565Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTriangleCount_ ),triangleCount ); 566} 567 568// static method: descriptor 569_MTL_INLINE MTL ::AccelerationStructureTriangleGeometryDescriptor * MTL ::AccelerationStructureTriangleGeometryDescriptor ::descriptor () 570{ 571return Object ::sendMessage < MTL ::AccelerationStructureTriangleGeometryDescriptor *> (_MTL_PRIVATE_CLS (MTLAccelerationStructureTriangleGeometryDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 572} 573 574// static method: alloc 575_MTL_INLINE MTL ::AccelerationStructureBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::alloc () 576{ 577return NS ::Object ::alloc < MTL ::AccelerationStructureBoundingBoxGeometryDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureBoundingBoxGeometryDescriptor )); 578} 579 580// method: init 581_MTL_INLINE MTL ::AccelerationStructureBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::init () 582{ 583return NS ::Object ::init < MTL ::AccelerationStructureBoundingBoxGeometryDescriptor > (); 584} 585 586// property: boundingBoxBuffer 587_MTL_INLINE MTL ::Buffer * MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::boundingBoxBuffer ()const 588{ 589return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (boundingBoxBuffer )); 590} 591 592_MTL_INLINE voidMTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::setBoundingBoxBuffer (const MTL ::Buffer * boundingBoxBuffer ) 593{ 594Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxBuffer_ ),boundingBoxBuffer ); 595} 596 597// property: boundingBoxBufferOffset 598_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::boundingBoxBufferOffset ()const 599{ 600return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (boundingBoxBufferOffset )); 601} 602 603_MTL_INLINE voidMTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::setBoundingBoxBufferOffset (NS ::UInteger boundingBoxBufferOffset ) 604{ 605Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxBufferOffset_ ),boundingBoxBufferOffset ); 606} 607 608// property: boundingBoxStride 609_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::boundingBoxStride ()const 610{ 611return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (boundingBoxStride )); 612} 613 614_MTL_INLINE voidMTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::setBoundingBoxStride (NS ::UInteger boundingBoxStride ) 615{ 616Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxStride_ ),boundingBoxStride ); 617} 618 619// property: boundingBoxCount 620_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::boundingBoxCount ()const 621{ 622return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (boundingBoxCount )); 623} 624 625_MTL_INLINE voidMTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::setBoundingBoxCount (NS ::UInteger boundingBoxCount ) 626{ 627Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxCount_ ),boundingBoxCount ); 628} 629 630// static method: descriptor 631_MTL_INLINE MTL ::AccelerationStructureBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureBoundingBoxGeometryDescriptor ::descriptor () 632{ 633return Object ::sendMessage < MTL ::AccelerationStructureBoundingBoxGeometryDescriptor *> (_MTL_PRIVATE_CLS (MTLAccelerationStructureBoundingBoxGeometryDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 634} 635 636// static method: alloc 637_MTL_INLINE MTL ::MotionKeyframeData * MTL ::MotionKeyframeData ::alloc () 638{ 639return NS ::Object ::alloc < MTL ::MotionKeyframeData > (_MTL_PRIVATE_CLS (MTLMotionKeyframeData )); 640} 641 642// method: init 643_MTL_INLINE MTL ::MotionKeyframeData * MTL ::MotionKeyframeData ::init () 644{ 645return NS ::Object ::init < MTL ::MotionKeyframeData > (); 646} 647 648// property: buffer 649_MTL_INLINE MTL ::Buffer * MTL ::MotionKeyframeData ::buffer ()const 650{ 651return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (buffer )); 652} 653 654_MTL_INLINE voidMTL ::MotionKeyframeData ::setBuffer (const MTL ::Buffer * buffer ) 655{ 656Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBuffer_ ),buffer ); 657} 658 659// property: offset 660_MTL_INLINE NS ::UInteger MTL ::MotionKeyframeData ::offset ()const 661{ 662return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (offset )); 663} 664 665_MTL_INLINE voidMTL ::MotionKeyframeData ::setOffset (NS ::UInteger offset ) 666{ 667Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setOffset_ ),offset ); 668} 669 670// static method: data 671_MTL_INLINE MTL ::MotionKeyframeData * MTL ::MotionKeyframeData ::data () 672{ 673return Object ::sendMessage < MTL ::MotionKeyframeData *> (_MTL_PRIVATE_CLS (MTLMotionKeyframeData ),_MTL_PRIVATE_SEL (data )); 674} 675 676// static method: alloc 677_MTL_INLINE MTL ::AccelerationStructureMotionTriangleGeometryDescriptor * MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::alloc () 678{ 679return NS ::Object ::alloc < MTL ::AccelerationStructureMotionTriangleGeometryDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureMotionTriangleGeometryDescriptor )); 680} 681 682// method: init 683_MTL_INLINE MTL ::AccelerationStructureMotionTriangleGeometryDescriptor * MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::init () 684{ 685return NS ::Object ::init < MTL ::AccelerationStructureMotionTriangleGeometryDescriptor > (); 686} 687 688// property: vertexBuffers 689_MTL_INLINE NS ::Array * MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::vertexBuffers ()const 690{ 691return Object ::sendMessage < NS ::Array *> (this ,_MTL_PRIVATE_SEL (vertexBuffers )); 692} 693 694_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setVertexBuffers (const NS ::Array * vertexBuffers ) 695{ 696Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexBuffers_ ),vertexBuffers ); 697} 698 699// property: vertexStride 700_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::vertexStride ()const 701{ 702return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (vertexStride )); 703} 704 705_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setVertexStride (NS ::UInteger vertexStride ) 706{ 707Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setVertexStride_ ),vertexStride ); 708} 709 710// property: indexBuffer 711_MTL_INLINE MTL ::Buffer * MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::indexBuffer ()const 712{ 713return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (indexBuffer )); 714} 715 716_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setIndexBuffer (const MTL ::Buffer * indexBuffer ) 717{ 718Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexBuffer_ ),indexBuffer ); 719} 720 721// property: indexBufferOffset 722_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::indexBufferOffset ()const 723{ 724return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (indexBufferOffset )); 725} 726 727_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setIndexBufferOffset (NS ::UInteger indexBufferOffset ) 728{ 729Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexBufferOffset_ ),indexBufferOffset ); 730} 731 732// property: indexType 733_MTL_INLINE MTL ::IndexType MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::indexType ()const 734{ 735return Object ::sendMessage < MTL ::IndexType > (this ,_MTL_PRIVATE_SEL (indexType )); 736} 737 738_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setIndexType (MTL ::IndexType indexType ) 739{ 740Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setIndexType_ ),indexType ); 741} 742 743// property: triangleCount 744_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::triangleCount ()const 745{ 746return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (triangleCount )); 747} 748 749_MTL_INLINE voidMTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::setTriangleCount (NS ::UInteger triangleCount ) 750{ 751Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setTriangleCount_ ),triangleCount ); 752} 753 754// static method: descriptor 755_MTL_INLINE MTL ::AccelerationStructureMotionTriangleGeometryDescriptor * MTL ::AccelerationStructureMotionTriangleGeometryDescriptor ::descriptor () 756{ 757return Object ::sendMessage < MTL ::AccelerationStructureMotionTriangleGeometryDescriptor *> (_MTL_PRIVATE_CLS (MTLAccelerationStructureMotionTriangleGeometryDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 758} 759 760// static method: alloc 761_MTL_INLINE MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::alloc () 762{ 763return NS ::Object ::alloc < MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor > (_MTL_PRIVATE_CLS (MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor )); 764} 765 766// method: init 767_MTL_INLINE MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::init () 768{ 769return NS ::Object ::init < MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor > (); 770} 771 772// property: boundingBoxBuffers 773_MTL_INLINE NS ::Array * MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::boundingBoxBuffers ()const 774{ 775return Object ::sendMessage < NS ::Array *> (this ,_MTL_PRIVATE_SEL (boundingBoxBuffers )); 776} 777 778_MTL_INLINE voidMTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::setBoundingBoxBuffers (const NS ::Array * boundingBoxBuffers ) 779{ 780Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxBuffers_ ),boundingBoxBuffers ); 781} 782 783// property: boundingBoxStride 784_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::boundingBoxStride ()const 785{ 786return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (boundingBoxStride )); 787} 788 789_MTL_INLINE voidMTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::setBoundingBoxStride (NS ::UInteger boundingBoxStride ) 790{ 791Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxStride_ ),boundingBoxStride ); 792} 793 794// property: boundingBoxCount 795_MTL_INLINE NS ::UInteger MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::boundingBoxCount ()const 796{ 797return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (boundingBoxCount )); 798} 799 800_MTL_INLINE voidMTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::setBoundingBoxCount (NS ::UInteger boundingBoxCount ) 801{ 802Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setBoundingBoxCount_ ),boundingBoxCount ); 803} 804 805// static method: descriptor 806_MTL_INLINE MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor * MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor ::descriptor () 807{ 808return Object ::sendMessage < MTL ::AccelerationStructureMotionBoundingBoxGeometryDescriptor *> (_MTL_PRIVATE_CLS (MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 809} 810 811// static method: alloc 812_MTL_INLINE MTL ::InstanceAccelerationStructureDescriptor * MTL ::InstanceAccelerationStructureDescriptor ::alloc () 813{ 814return NS ::Object ::alloc < MTL ::InstanceAccelerationStructureDescriptor > (_MTL_PRIVATE_CLS (MTLInstanceAccelerationStructureDescriptor )); 815} 816 817// method: init 818_MTL_INLINE MTL ::InstanceAccelerationStructureDescriptor * MTL ::InstanceAccelerationStructureDescriptor ::init () 819{ 820return NS ::Object ::init < MTL ::InstanceAccelerationStructureDescriptor > (); 821} 822 823// property: instanceDescriptorBuffer 824_MTL_INLINE MTL ::Buffer * MTL ::InstanceAccelerationStructureDescriptor ::instanceDescriptorBuffer ()const 825{ 826return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (instanceDescriptorBuffer )); 827} 828 829_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstanceDescriptorBuffer (const MTL ::Buffer * instanceDescriptorBuffer ) 830{ 831Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstanceDescriptorBuffer_ ),instanceDescriptorBuffer ); 832} 833 834// property: instanceDescriptorBufferOffset 835_MTL_INLINE NS ::UInteger MTL ::InstanceAccelerationStructureDescriptor ::instanceDescriptorBufferOffset ()const 836{ 837return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (instanceDescriptorBufferOffset )); 838} 839 840_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstanceDescriptorBufferOffset (NS ::UInteger instanceDescriptorBufferOffset ) 841{ 842Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstanceDescriptorBufferOffset_ ),instanceDescriptorBufferOffset ); 843} 844 845// property: instanceDescriptorStride 846_MTL_INLINE NS ::UInteger MTL ::InstanceAccelerationStructureDescriptor ::instanceDescriptorStride ()const 847{ 848return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (instanceDescriptorStride )); 849} 850 851_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstanceDescriptorStride (NS ::UInteger instanceDescriptorStride ) 852{ 853Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstanceDescriptorStride_ ),instanceDescriptorStride ); 854} 855 856// property: instanceCount 857_MTL_INLINE NS ::UInteger MTL ::InstanceAccelerationStructureDescriptor ::instanceCount ()const 858{ 859return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (instanceCount )); 860} 861 862_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstanceCount (NS ::UInteger instanceCount ) 863{ 864Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstanceCount_ ),instanceCount ); 865} 866 867// property: instancedAccelerationStructures 868_MTL_INLINE NS ::Array * MTL ::InstanceAccelerationStructureDescriptor ::instancedAccelerationStructures ()const 869{ 870return Object ::sendMessage < NS ::Array *> (this ,_MTL_PRIVATE_SEL (instancedAccelerationStructures )); 871} 872 873_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstancedAccelerationStructures (const NS ::Array * instancedAccelerationStructures ) 874{ 875Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstancedAccelerationStructures_ ),instancedAccelerationStructures ); 876} 877 878// property: instanceDescriptorType 879_MTL_INLINE MTL ::AccelerationStructureInstanceDescriptorType MTL ::InstanceAccelerationStructureDescriptor ::instanceDescriptorType ()const 880{ 881return Object ::sendMessage < MTL ::AccelerationStructureInstanceDescriptorType > (this ,_MTL_PRIVATE_SEL (instanceDescriptorType )); 882} 883 884_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setInstanceDescriptorType (MTL ::AccelerationStructureInstanceDescriptorType instanceDescriptorType ) 885{ 886Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setInstanceDescriptorType_ ),instanceDescriptorType ); 887} 888 889// property: motionTransformBuffer 890_MTL_INLINE MTL ::Buffer * MTL ::InstanceAccelerationStructureDescriptor ::motionTransformBuffer ()const 891{ 892return Object ::sendMessage < MTL ::Buffer *> (this ,_MTL_PRIVATE_SEL (motionTransformBuffer )); 893} 894 895_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setMotionTransformBuffer (const MTL ::Buffer * motionTransformBuffer ) 896{ 897Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionTransformBuffer_ ),motionTransformBuffer ); 898} 899 900// property: motionTransformBufferOffset 901_MTL_INLINE NS ::UInteger MTL ::InstanceAccelerationStructureDescriptor ::motionTransformBufferOffset ()const 902{ 903return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (motionTransformBufferOffset )); 904} 905 906_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setMotionTransformBufferOffset (NS ::UInteger motionTransformBufferOffset ) 907{ 908Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionTransformBufferOffset_ ),motionTransformBufferOffset ); 909} 910 911// property: motionTransformCount 912_MTL_INLINE NS ::UInteger MTL ::InstanceAccelerationStructureDescriptor ::motionTransformCount ()const 913{ 914return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (motionTransformCount )); 915} 916 917_MTL_INLINE voidMTL ::InstanceAccelerationStructureDescriptor ::setMotionTransformCount (NS ::UInteger motionTransformCount ) 918{ 919Object ::sendMessage < void > (this ,_MTL_PRIVATE_SEL (setMotionTransformCount_ ),motionTransformCount ); 920} 921 922// static method: descriptor 923_MTL_INLINE MTL ::InstanceAccelerationStructureDescriptor * MTL ::InstanceAccelerationStructureDescriptor ::descriptor () 924{ 925return Object ::sendMessage < MTL ::InstanceAccelerationStructureDescriptor *> (_MTL_PRIVATE_CLS (MTLInstanceAccelerationStructureDescriptor ),_MTL_PRIVATE_SEL (descriptor )); 926} 927 928// property: size 929_MTL_INLINE NS ::UInteger MTL ::AccelerationStructure ::size ()const 930{ 931return Object ::sendMessage < NS ::UInteger > (this ,_MTL_PRIVATE_SEL (size )); 932}