luxlabs header browser preview


@class NSArray, NSString, NSMutableDictionary, NSDictionary, SCNOrderedDictionary;

@interface SCNMorpher : NSObject <SCNAnimatable, NSSecureCoding> {
    struct __C3DMorph { } *_morpher;
    unsigned char _isPresentationInstance : 1;
    long long _calculationMode;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _animationsLock;
    SCNOrderedDictionary *_animations;
    NSMutableDictionary *_bindings;
    NSArray *_mainTargets;
    unsigned long long _weightCount;
    float *_weights;
    NSArray *_mainTargetsAndInBetweens;
    NSArray *_inBetweenCounts;
    NSArray *_inBetweenInfluenceWeights;
    NSArray *_correctivesAndInBetweens;
    NSArray *_correctiveDriverCounts;
    NSArray *_correctiveDriverIndices;
    NSArray *_correctiveInBetweenCounts;
    NSArray *_correctiveInBetweenInfluenceWeights;
    NSDictionary *_mainTargetNamesToIndexes;
    NSString *_name;
    BOOL _unifyNormal;
    BOOL _useSparseTargets;
}

@property (class, readonly) BOOL supportsSecureCoding;

@property (copy, nonatomic) NSArray *targets;
@property (retain, nonatomic) NSArray *weights;
@property (nonatomic) long long calculationMode;
@property BOOL unifiesNormals;
@property (readonly) NSArray *animationKeys;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (Class)SCNUID_classForElementOfArray:(id)a0;
+ (id)morpher;
+ (id)morpherWithMorphRef:(struct __C3DMorph { } *)a0;
+ (id)weightIndexStringForIndex:(long long)a0;

- (id)valueForUndefinedKey:(id)a0;
- (id)init;
- (void)dealloc;
- (void)addAnimation:(id)a0 forKey:(id)a1;
- (void)setValue:(id)a0 forUndefinedKey:(id)a1;
- (void)setIdentifier:(id)a0;
- (void)setName:(id)a0;
- (id)scene;
- (void)encodeWithCoder:(id)a0;
- (id)copy;
- (id)identifier;
- (void)removeAllAnimations;
- (void)addAnimation:(id)a0;
- (id)name;
- (id)initWithCoder:(id)a0;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (id)animationForKey:(id)a0;
- (void)removeAnimationForKey:(id)a0;
- (id)animationPlayerForKey:(id)a0;
- (struct __C3DAnimationManager { } *)animationManager;
- (void)_updateCorrectivesAndInBetween:(id)a0;
- (void)clearInBetweens;
- (id)inBetweenCounts;
- (void *)__CFObject;
- (BOOL)__removeAnimation:(id)a0 forKey:(id)a1;
- (void)_copyAnimationsFrom:(id)a0;
- (void)_customDecodingOfSCNMorpher:(id)a0;
- (void)_customEncodingOfSCNMorpher:(id)a0;
- (void)_didDecodeSCNMorpher:(id)a0;
- (BOOL)_isUsingSparseTargets;
- (void)_pauseAnimation:(BOOL)a0 forKey:(id)a1 pausedByNode:(BOOL)a2;
- (double)_presentationWeightForTargetAtIndex:(unsigned long long)a0 token:(const void *)a1;
- (id)_scnAnimationForKey:(id)a0;
- (id)_scnBindings;
- (void)_syncEntityObjCModel;
- (void)_syncObjCAnimations;
- (void)_syncObjCModel;
- (void)_updateTargetsAndInBetween:(id)a0;
- (long long)_weightIndexForTargetNamed:(id)a0;
- (void)addAnimationPlayer:(id)a0 forKey:(id)a1;
- (void)bindAnimatablePath:(id)a0 toObject:(id)a1 withKeyPath:(id)a2 options:(id)a3;
- (void)clearCorrectives;
- (void)convertToAdditiveWithBaseGeometry:(id)a0;
- (void)convertToSparseWithBaseGeometry:(id)a0;
- (id)copyAnimationChannelForKeyPath:(id)a0 animation:(id)a1;
- (unsigned long long)correctiveDriverCountForCorrectiveAtIndex:(unsigned long long)a0;
- (id)correctiveDriverCounts;
- (id)correctiveDriverIndices;
- (id)correctiveDriverIndicesForCorrectiveAtIndex:(unsigned long long)a0;
- (id)correctiveInBetweenCounts;
- (id)correctiveInBetweenWeights;
- (id)correctives;
- (id)correctivesAndInBetween;
- (id)inBetweenTargetsForCorrectiveAtIndex:(unsigned long long)a0;
- (id)inBetweenTargetsForTargetAtIndex:(unsigned long long)a0;
- (id)inBetweenWeights;
- (id)inBetweenWeightsForCorrectiveAtIndex:(unsigned long long)a0;
- (id)inBetweenWeightsForTargetAtIndex:(unsigned long long)a0;
- (id)initPresentationMorpherWithMorphRef:(struct __C3DMorph { } *)a0;
- (id)initWithMorphRef:(struct __C3DMorph { } *)a0;
- (BOOL)isAnimationForKeyPaused:(id)a0;
- (BOOL)isPausedOrPausedByInheritance;
- (struct __C3DMorph { } *)morphRef;
- (void)pauseAnimationForKey:(id)a0;
- (id)presentationInstance;
- (id)presentationMorpher;
- (void)removeAllAnimationsWithBlendOutDuration:(double)a0;
- (void)removeAllBindings;
- (void)removeAnimationForKey:(id)a0 blendOutDuration:(double)a1;
- (void)removeAnimationForKey:(id)a0 fadeOutDuration:(double)a1;
- (void)resumeAnimationForKey:(id)a0;
- (struct __C3DScene { } *)sceneRef;
- (void)setShouldClearCPUDataAfterUpload:(BOOL)a0;
- (void)setShouldMorphNormals:(BOOL)a0;
- (void)setSpeed:(double)a0 forAnimationKey:(id)a1;
- (void)setTargets:(id)a0 withInBetweenTargetCounts:(id)a1 inBetweenWeights:(id)a2;
- (void)setTargetsAndInBetweens:(id)a0 inBetweenCounts:(id)a1 inBetweenWeights:(id)a2 correctives:(id)a3 driverCounts:(id)a4 driverIndices:(id)a5 inBetweenCounts:(id)a6 inBetweenWeights:(id)a7;
- (void)setWeight:(double)a0 forTargetAtIndex:(unsigned long long)a1;
- (void)setWeight:(double)a0 forTargetNamed:(id)a1;
- (void)setWeightIncrementalThreshold:(float)a0;
- (BOOL)shouldClearCPUDataAfterUpload;
- (BOOL)shouldMorphNormals;
- (id)targetsAndInBetween;
- (void)unbindAnimatablePath:(id)a0;
- (double)weightForTargetAtIndex:(unsigned long long)a0;
- (double)weightForTargetNamed:(id)a0;
- (float)weightIncrementalThreshold;

@end