luxlabs header browser preview


@class MDLVertexDescriptor, NSArray, NSMutableArray;
@protocol MDLMeshBufferAllocator;

@interface MDLMesh : MDLObject {
    NSMutableArray *_submeshes;
    NSMutableArray *_vertexBuffers;
    MDLVertexDescriptor *_vertexDescriptor;
    struct MDLAABB { void /* unknown type, empty encoding */ maxBounds; void /* unknown type, empty encoding */ minBounds; } _bounds;
    NSArray *_controlNodes;
}

@property (nonatomic) unsigned long long subdivisionScheme;
@property (readonly, nonatomic) struct { } boundingBox;
@property (copy, nonatomic) MDLVertexDescriptor *vertexDescriptor;
@property (nonatomic) unsigned long long vertexCount;
@property (retain, nonatomic) NSArray *vertexBuffers;
@property (copy, nonatomic) NSMutableArray *submeshes;
@property (readonly, retain, nonatomic) id<MDLMeshBufferAllocator> allocator;

+ (id)newBoxWithDimensions:(id)a0 segments:(SEL)a1 geometryType:(long long)a2 inwardNormals:(BOOL)a3 allocator:(id)a4;
+ (id)newCapsuleWithHeight:(SEL)a0 radii:(float)a1 radialSegments:(unsigned long long)a2 verticalSegments:(unsigned long long)a3 hemisphereSegments:(unsigned long long)a4 geometryType:(long long)a5 inwardNormals:(BOOL)a6 allocator:(id)a7;
+ (id)newCylinderWithHeight:(SEL)a0 radii:(float)a1 radialSegments:(unsigned long long)a2 verticalSegments:(unsigned long long)a3 geometryType:(long long)a4 inwardNormals:(BOOL)a5 allocator:(id)a6;
+ (id)newEllipsoidWithRadii:(SEL)a0 radialSegments:(unsigned long long)a1 verticalSegments:(unsigned long long)a2 geometryType:(long long)a3 inwardNormals:(BOOL)a4 hemisphere:(BOOL)a5 allocator:(id)a6;
+ (id)newEllipticalConeWithHeight:(SEL)a0 radii:(float)a1 radialSegments:(unsigned long long)a2 verticalSegments:(unsigned long long)a3 geometryType:(long long)a4 inwardNormals:(BOOL)a5 allocator:(id)a6;
+ (id)newIcosahedronWithRadius:(float)a0 inwardNormals:(BOOL)a1 allocator:(id)a2;
+ (id)newIcosahedronWithRadius:(float)a0 inwardNormals:(BOOL)a1 geometryType:(long long)a2 allocator:(id)a3;
+ (id)newPlaneWithDimensions:(id)a0 segments:(SEL)a1 geometryType:(long long)a2 allocator:(id)a3;
+ (id)newSubdividedMesh:(id)a0 submeshIndex:(unsigned long long)a1 subdivisionLevels:(unsigned long long)a2;

- (id).cxx_construct;
- (id)description;
- (void).cxx_destruct;
- (void)addOrthTanBasisForTextureCoordinateAttributeNamed:(id)a0 normalAttributeNamed:(id)a1 tangentAttributeNamed:(id)a2;
- (void)flipTextureCoordinatesInAttributeNamed:(id)a0;
- (id)initBoxWithExtent:(id)a0 segments:(SEL)a1 inwardNormals:(BOOL)a2 geometryType:(long long)a3 allocator:(id)a4;
- (id)initConeWithExtent:(id)a0 segments:(SEL)a1 inwardNormals:(BOOL)a2 cap:(BOOL)a3 geometryType:(long long)a4 allocator:(id)a5;
- (id)initCylinderWithExtent:(id)a0 segments:(SEL)a1 inwardNormals:(BOOL)a2 topCap:(BOOL)a3 bottomCap:(BOOL)a4 geometryType:(long long)a5 allocator:(id)a6;
- (id)initSphereWithExtent:(id)a0 segments:(SEL)a1 inwardNormals:(BOOL)a2 geometryType:(long long)a3 allocator:(id)a4;
- (id)initWithVertexBuffers:(id)a0 vertexCount:(unsigned long long)a1 descriptor:(id)a2 submeshes:(id)a3;
- (id)vertexAttributeDataForAttributeNamed:(id)a0;
- (id)initIcosahedronWithExtent:(SEL)a0 inwardNormals:(BOOL)a1 geometryType:(long long)a2 allocator:(id)a3;
- (void)replaceAttributeNamed:(id)a0 withData:(id)a1;
- (void)_calculateFaceNormalsFromPositions:(float *)a0 positionStride:(long long)a1 normals:(float *)a2 normalStride:(long long)a3 creaseThreshold:(float)a4;
- (void)_calculateTangentBasisFromPositions:(float *)a0 positionStride:(long long)a1 positionsBufferSize:(unsigned long long)a2 normals:(float *)a3 normalStride:(long long)a4 normalsBufferSize:(unsigned long long)a5 uvs:(float *)a6 uvStride:(long long)a7 uvsBufferSize:(unsigned long long)a8 tangents:(float *)a9 tangentsStride:(long long)a10 tangentsBufferSize:(unsigned long long)a11 bitagents:(float *)a12 bitangentStride:(long long)a13 bitangentsBufferSize:(unsigned long long)a14 tangentFormat:(unsigned long long)a15 selector:(SEL)a16;
- (void)_createWithVertexBuffer:(id)a0 vertexCount:(unsigned long long)a1 descriptor:(id)a2 submeshes:(id)a3;
- (void)_enumerateSubmeshesUsingBlock:(id /* block */)a0 stopPointer:(BOOL *)a1;
- (void)addAttributeWithName:(id)a0 format:(unsigned long long)a1;
- (void)addAttributeWithName:(id)a0 format:(unsigned long long)a1 type:(id)a2 data:(id)a3 stride:(long long)a4;
- (void)addAttributeWithName:(id)a0 format:(unsigned long long)a1 type:(id)a2 data:(id)a3 stride:(long long)a4 time:(double)a5;
- (void)addNormalsWithAttributeNamed:(id)a0 creaseThreshold:(float)a1;
- (void)addTangentBasisForTextureCoordinateAttributeNamed:(id)a0 normalAttributeNamed:(id)a1 tangentAttributeNamed:(id)a2;
- (void)addTangentBasisForTextureCoordinateAttributeNamed:(id)a0 tangentAttributeNamed:(id)a1 bitangentAttributeNamed:(id)a2;
- (void)addUnwrappedTextureCoordinatesForAttributeNamed:(id)a0;
- (long long)addVertexBuffer:(id)a0;
- (id)controlNodeForINdex:(unsigned long long)a0;
- (void)copyDataVector:(void *)a0 toAttr:(id)a1;
- (void)createSourceDataVector:(void *)a0 attr:(id)a1 srcElementCount:(int)a2 dstElementCount:(int)a3;
- (void)debugPrintToFile:(struct __sFILE { char *x0; int x1; int x2; short x3; short x4; struct __sbuf { char *x0; int x1; } x5; int x6; void *x7; void /* function */ *x8; void /* function */ *x9; void /* function */ *x10; void /* function */ *x11; struct __sbuf { char *x0; int x1; } x12; struct __sFILEX *x13; int x14; unsigned char x15[3]; unsigned char x16[1]; struct __sbuf { char *x0; int x1; } x17; int x18; long long x19; } *)a0;
- (void)enumerateSubmeshesUsingBlock:(id /* block */)a0;
- (BOOL)generateAmbientOcclusionTextureWithQuality:(float)a0 attenuationFactor:(float)a1 objectsToConsider:(id)a2 vertexAttributeNamed:(id)a3 materialPropertyNamed:(id)a4;
- (BOOL)generateAmbientOcclusionTextureWithSize:(SEL)a0 raysPerSample:(long long)a1 attenuationFactor:(float)a2 objectsToConsider:(id)a3 vertexAttributeNamed:(id)a4 materialPropertyNamed:(id)a5;
- (BOOL)generateAmbientOcclusionVertexColorsWithQuality:(float)a0 attenuationFactor:(float)a1 objectsToConsider:(id)a2 vertexAttributeNamed:(id)a3;
- (BOOL)generateAmbientOcclusionVertexColorsWithRaysPerSample:(long long)a0 attenuationFactor:(float)a1 objectsToConsider:(id)a2 vertexAttributeNamed:(id)a3;
- (BOOL)generateLightMapTextureWithQuality:(float)a0 lightsToConsider:(id)a1 objectsToConsider:(id)a2 vertexAttributeNamed:(id)a3 materialPropertyNamed:(id)a4;
- (BOOL)generateLightMapTextureWithTextureSize:(SEL)a0 lightsToConsider:(id)a1 objectsToConsider:(id)a2 vertexAttributeNamed:(id)a3 materialPropertyNamed:(id)a4;
- (BOOL)generateLightMapVertexColorsWithLightsToConsider:(id)a0 objectsToConsider:(id)a1 vertexAttributeNamed:(id)a2;
- (id)initCapsuleWithExtent:(id)a0 cylinderSegments:(SEL)a1 hemisphereSegments:(unsigned long long)a2 inwardNormals:(BOOL)a3 geometryType:(long long)a4 allocator:(id)a5;
- (id)initHemisphereWithExtent:(id)a0 segments:(SEL)a1 inwardNormals:(BOOL)a2 cap:(BOOL)a3 geometryType:(long long)a4 allocator:(id)a5;
- (id)initMeshBySubdividingMesh:(id)a0 submeshIndex:(int)a1 subdivisionLevels:(unsigned int)a2 allocator:(id)a3;
- (id)initPlaneWithExtent:(id)a0 segments:(SEL)a1 geometryType:(long long)a2 allocator:(id)a3;
- (id)initWithBufferAllocator:(id)a0;
- (id)initWithVertexBuffer:(id)a0 vertexCount:(unsigned long long)a1 descriptor:(id)a2 submeshes:(id)a3;
- (struct { void /* unknown type, empty encoding */ x0[4]; })inverseBasePoseForIndex:(unsigned long long)a0;
- (void)makeVerticesUnique;
- (BOOL)makeVerticesUniqueAndReturnError:(id *)a0;
- (void)removeAttributeNamed:(id)a0;
- (int)submeshCount;
- (BOOL)triangulate;
- (void)updateAttributeNamed:(id)a0 withData:(id)a1;
- (id)vertexAttributeDataForAttributeNamed:(id)a0 asFormat:(unsigned long long)a1;

@end