@class NSMutableDictionary, SCNGeometryElement, SCNProgram, NSDictionary, SCNShadableHelper, NSMutableArray, SCNMaterial, NSString, SCNGeometryTessellator, SCNGeometrySource, NSArray, NSNumber, SCNOrderedDictionary; @interface SCNGeometry : NSObject { struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *_geometry; unsigned char _isPresentationInstance : 1; NSMutableArray *_sources; NSMutableArray *_elements; NSArray *_sourceChannels; NSMutableArray *_materials; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _animationsLock; SCNOrderedDictionary *_animations; NSMutableDictionary *_bindings; NSArray *_levelsOfDetail; unsigned long long _subdivisionLevel; BOOL _subdivisionIsAdaptive; struct { BOOL enableVertexWeldingAtImport; unsigned char boundaryInterpolationRule; unsigned char faceVaryingInterpolationRule; unsigned char normalSmoothingMode; } _subdivisionSettings; SCNGeometrySource *_edgeCreasesSource; SCNGeometryElement *_edgeCreasesElement; SCNShadableHelper *_shadableHelper; struct SCNVector3 { float x0; float x1; float x2; } *_fixedBoundingBoxExtrema; NSString *_name; NSMutableDictionary *_valuesForUndefinedKeys; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _valuesForUndefinedKeysLock; SCNGeometryTessellator *_tessellator; } @property (class, readonly) BOOL supportsSecureCoding; @property (copy, nonatomic) NSString *name; @property (copy, nonatomic) NSArray *materials; @property (retain, nonatomic) SCNMaterial *firstMaterial; @property (readonly, nonatomic) NSArray *geometrySources; @property (readonly, nonatomic) NSArray *geometryElements; @property (readonly, nonatomic) long long geometryElementCount; @property (copy, nonatomic) NSArray *levelsOfDetail; @property (retain, nonatomic) SCNGeometryTessellator *tessellator; @property (nonatomic) unsigned long long subdivisionLevel; @property (nonatomic) BOOL wantsAdaptiveSubdivision; @property (retain, nonatomic) SCNGeometryElement *edgeCreasesElement; @property (retain, nonatomic) SCNGeometrySource *edgeCreasesSource; @property (readonly) NSArray *animationKeys; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (retain, nonatomic) SCNProgram *program; @property (copy, nonatomic) NSDictionary *shaderModifiers; @property (retain, nonatomic) NSNumber *minimumLanguageVersion; + (id)geometry; + (BOOL)resolveInstanceMethod:(SEL)a0; + (id)geometryWithSources:(id)a0 elements:(id)a1; + (id)boxWithWidth:(double)a0 height:(double)a1 length:(double)a2 cornerRadius:(double)a3 options:(id)a4; + (id)capsuleWithRadius:(double)a0 height:(double)a1 options:(id)a2; + (id)coneWithHeight:(double)a0 topRadius:(double)a1 bottomRadius:(double)a2 options:(id)a3; + (id)cylinderWithRadius:(double)a0 height:(double)a1 options:(id)a2; + (id)floorWithOptions:(id)a0; + (id)geometryWithGeometryRef:(struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)a0; + (id)geometryWithMDLMesh:(id)a0; + (id)geometryWithMDLMesh:(id)a0 options:(id)a1; + (id)geometryWithMDLMesh:(id)a0 submesh:(id)a1 options:(id)a2; + (id)geometryWithSources:(id)a0 elements:(id)a1 sourceChannels:(id)a2; + (id)morpherWithMDLMesh:(id)a0; + (id)planeWithWidth:(double)a0 height:(double)a1 options:(id)a2; + (id)pyramidWithWidth:(double)a0 height:(double)a1 length:(double)a2 options:(id)a3; + (id)sphereWithRadius:(double)a0 options:(id)a1; + (id)torusWithRingRadius:(double)a0 pipeRadius:(double)a1 options:(id)a2; + (id)tubeWithInnerRadius:(double)a0 outerRadius:(double)a1 height:(double)a2 options:(id)a3; - (id)debugQuickLookObject; - (id)valueForUndefinedKey:(id)a0; - (void)_setAttributes:(id)a0; - (id)init; - (void)dealloc; - (void)addAnimation:(id)a0 forKey:(id)a1; - (void)setValue:(id)a0 forUndefinedKey:(id)a1; - (void)setIdentifier:(id)a0; - (id)scene; - (void)encodeWithCoder:(id)a0; - (id)mutableCopy; - (id)copy; - (id)identifier; - (void)removeAllAnimations; - (void)addAnimation:(id)a0; - (id)initWithCoder:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (long long)primitiveType; - (void)setPrimitiveType:(long long)a0; - (id)animationForKey:(id)a0; - (void)removeAnimationForKey:(id)a0; - (id)_renderableCopy; - (id)animationPlayerForKey:(id)a0; - (id)geometrySourcesForSemantic:(id)a0; - (id)material; - (void)_expand; - (struct __C3DAnimationManager { } *)animationManager; - (BOOL)getBoundingSphereCenter:(struct SCNVector3 { float x0; float x1; float x2; } *)a0 radius:(double *)a1; - (BOOL)getBoundingBoxMin:(struct SCNVector3 { float x0; float x1; float x2; } *)a0 max:(struct SCNVector3 { float x0; float x1; float x2; } *)a1; - (void)setMaterial:(id)a0; - (void)setBoundingBoxMin:(struct SCNVector3 { float x0; float x1; float x2; } *)a0 max:(struct SCNVector3 { float x0; float x1; float x2; } *)a1; - (void *)__CFObject; - (id)interleavedCopy; - (struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)__createCFObject; - (BOOL)__removeAnimation:(id)a0 forKey:(id)a1; - (id)__shadableHelper; - (void)removeMaterial:(id)a0; - (void)setGeometryRef:(struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)a0; - (void)_copyAnimationsFrom:(id)a0; - (void)_copyAttributesTo:(id)a0; - (void)_customDecodingOfSCNGeometry:(id)a0; - (void)_customEncodingOfSCNGeometry:(id)a0; - (void)_discardOriginalTopology; - (id)_firstMaterial; - (id)_geometryByAddingSourcesOfSkinner:(id)a0; - (id)_geometryByRemovingSkinnerSources; - (id)_geometryByUnifyingNormalsWithCreaseThreshold:(double)a0; - (id)_geometryByWeldingVerticesWithThreshold:(double)a0 normalThreshold:(double)a1; - (BOOL)_hasFixedBoundingBoxExtrema; - (id)_materialWithName:(id)a0; - (void)_pauseAnimation:(BOOL)a0 forKey:(id)a1 pausedByNode:(BOOL)a2; - (void)_releaseCachedSourcesAndElements; - (id)_scnAnimationForKey:(id)a0; - (id)_scnBindings; - (void)_setGeometryRef:(struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)a0; - (void)_setupGeometryElements; - (void)_setupGeometrySources; - (void)_setupObjCModelFrom:(id)a0; - (void)_setupShadableHelperIfNeeded; - (void)_shadableSetValue:(id)a0 forUndefinedKey:(id)a1; - (struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; })_subdivisionSettings; - (void)_syncEntityObjCModel; - (void)_syncObjCAnimations; - (void)_syncObjCModel; - (void)_unifyNormals; - (void)addAnimationPlayer:(id)a0 forKey:(id)a1; - (void)bindAnimatablePath:(id)a0 toObject:(id)a1 withKeyPath:(id)a2 options:(id)a3; - (id)copyAnimationChannelForKeyPath:(id)a0 animation:(id)a1; - (void)copyShaderModifiersAndLanguageVersionFrom:(id)a0; - (unsigned long long)countOfMaterials; - (id)customMaterialAttributeNames; - (id)customMaterialAttributes; - (id)customMaterialProperties; - (id)customMaterialPropertyNames; - (id)debugQuickLookData; - (id)geometryDescription; - (id)geometryElementAtIndex:(long long)a0; - (struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)geometryRef; - (id)geometrySourceChannels; - (id)geometrySourceForSemantic:(id)a0; - (id)getBoundingBox; - (id)getBoundingSphere; - (void)handleBindingOfSymbol:(id)a0 usingBlock:(id /* block */)a1; - (void)handleUnbindingOfSymbol:(id)a0 usingBlock:(id /* block */)a1; - (id)initPresentationGeometryWithGeometryRef:(struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)a0; - (id)initWithGeometryRef:(struct __C3DGeometry { struct __C3DEntity { struct __CFRuntimeBase { unsigned long long x0; _Atomic unsigned long long x1; } x0; void *x1; struct __CFString *x2; struct __CFString *x3; struct __CFDictionary *x4; struct __C3DScene *x5; long long x6; } x0; struct __C3DMesh *x1; struct __C3DMaterial *x2; struct __CFArray *x3; struct __CFSet *x4; struct __CFArray *x5; struct *x6; unsigned char x7 : 1; void /* function */ *x8; struct { unsigned char x0; BOOL x1; struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; } x2; struct __C3DMeshElement *x3; struct __C3DMeshSource *x4; struct __C3DMesh *x5; void *x6; void *x7; } x9; struct { unsigned char x0; float x1; unsigned int x2; unsigned char x3; union { struct { float x0; float x1; } x0; struct { float x0; } x1; struct { float x0; } x2; struct { unsigned char x0; unsigned char x1 : 1; unsigned char x2 : 1; } x3; } x4; } x10; unsigned char x11; } *)a0; - (void)insertMaterial:(id)a0 atIndex:(unsigned long long)a1; - (void)insertObject:(id)a0 inMaterialsAtIndex:(unsigned long long)a1; - (BOOL)isAnimationForKeyPaused:(id)a0; - (BOOL)isPausedOrPausedByInheritance; - (BOOL)isPresentationInstance; - (id)keyForNodeAttributes; - (struct __C3DMaterial { } *)materialRef; - (struct __C3DMaterial { } *)materialRefCreateIfNeeded; - (id)materialWithName:(id)a0; - (id)mutableMaterials; - (id)objectInMaterialsAtIndex:(unsigned long long)a0; - (BOOL)parseSpecialKey:(id)a0 withPath:(id)a1 intoDestination:(id *)a2 remainingPath:(id *)a3; - (void)pauseAnimationForKey:(id)a0; - (id)presentationGeometry; - (id)presentationInstance; - (void)removeAllAnimationsWithBlendOutDuration:(double)a0; - (void)removeAllBindings; - (void)removeAllMaterials; - (void)removeAnimationForKey:(id)a0 blendOutDuration:(double)a1; - (void)removeAnimationForKey:(id)a0 fadeOutDuration:(double)a1; - (void)removeMaterialAtIndex:(unsigned long long)a0; - (void)removeObjectFromMaterialsAtIndex:(unsigned long long)a0; - (void)replaceMaterial:(id)a0 with:(id)a1; - (void)replaceMaterialAtIndex:(unsigned long long)a0 withMaterial:(id)a1; - (void)replaceObjectInMaterialsAtIndex:(unsigned long long)a0 withObject:(id)a1; - (void)resumeAnimationForKey:(id)a0; - (struct __C3DScene { } *)sceneRef; - (void)setSpeed:(double)a0 forAnimationKey:(id)a1; - (void)setValueForKey:(id)a0 optionKey:(id)a1 options:(id)a2; - (void)set_subdivisionSettings:(struct { BOOL x0; unsigned char x1; unsigned char x2; unsigned char x3; })a0; - (id)shaderModifiersArgumentsNames; - (BOOL)simdGetBoundingSphereCenter:(void *)a0 radius:(float *)a1; - (void)unbindAnimatablePath:(id)a0; @end