luxlabs header browser preview


@class SCNNode, NSOrderedSet, SCNAuthoringEnvironment, NSMutableIndexSet, SCNBillboardConstraint;

@interface SCNManipulator : NSObject {
    SCNAuthoringEnvironment *_authoringEnvironment;
    NSOrderedSet *_targets;
    SCNNode *_node;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _xAxisToZAxisTransform;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _yAxisToZAxisTransform;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _xyPlaneToYZPlaneTransform;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _xyPlaneToXZPlaneTransform;
    unsigned short _selectedAxis;
    union { struct { void /* unknown type, empty encoding */ originalPosition; void /* unknown type, empty encoding */ axisDirection; void /* unknown type, empty encoding */ mouseDeltaVector; } axisMove; struct { void /* unknown type, empty encoding */ originalPosition; void /* unknown type, empty encoding */ planeNormal; void /* unknown type, empty encoding */ pointInPlane; void /* unknown type, empty encoding */ mouseDeltaVector; } planeMove; struct { float rotationSign; void /* unknown type, empty encoding */ originalRotation; } axisRotate; } _actionData;
    BOOL _isMouseDown;
    unsigned short _action;
    struct CGPoint { double x; double y; } _originalMouseLocation;
    struct { void *positions; void *orientations; struct SCNMatrix4 *originalLocalMatrix; void *scales; } _originalData;
    unsigned int _originalDataCount;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _worldInitialMatrix;
    union C3DMatrix4x4 { float components[16]; void /* unknown type, empty encoding */ m[4]; struct { void /* unknown type, empty encoding */ columns[4]; } simd; } _worldMatrix;
    long long _snapToAlignCount;
    struct { float x0; void *x1; float x2; } *_snapToAlignOnX;
    struct { float x0; void *x1; float x2; } *_snapToAlignOnY;
    struct { float x0; void *x1; float x2; } *_snapToAlignOnZ;
    NSMutableIndexSet *_snapXIndexes;
    NSMutableIndexSet *_snapYIndexes;
    NSMutableIndexSet *_snapZIndexes;
    SCNNode *_planarTranslationHandleXY;
    SCNNode *_planarTranslationHandleYZ;
    SCNNode *_planarTranslationHandleXZ;
    SCNNode *_planarTranslationHandles;
    SCNNode *_axis;
    SCNNode *_arcHandleXY;
    SCNNode *_arcHandleYZ;
    SCNNode *_arcHandleXZ;
    SCNNode *_arcHandles;
    SCNNode *_scaleNode;
    SCNNode *_screenSpaceRotation;
    SCNNode *_highlightNode;
    void /* unknown type, empty encoding */ _planarTranslationLayout;
    BOOL _layoutLocked;
    SCNNode *_zArrow;
    SCNNode *_rotationHandles;
    SCNNode *_occluder;
    SCNNode *_translateHandles;
    SCNBillboardConstraint *_billboard;
    NSOrderedSet *_cloneSet;
    BOOL _cloning;
    unsigned long long _features;
    BOOL _alternateMode;
}

@property (readonly) SCNAuthoringEnvironment *authoringEnvironment;
@property (readonly) struct SCNMatrix4 { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; } transform;
@property (readonly) SCNNode *manipulatorNode;
@property (retain, nonatomic) NSOrderedSet *targets;
@property (retain, nonatomic) SCNNode *target;
@property (nonatomic) long long xAlignment;
@property (nonatomic) long long yAlignment;
@property (nonatomic) long long zAlignment;
@property (nonatomic) BOOL readonly;
@property (nonatomic) unsigned long long features;

- (id)init;
- (void)dealloc;
- (id)scene;
- (BOOL)mouseUp:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (id)copy;
- (id)hitTest:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (BOOL)isDragging;
- (BOOL)mouseDown:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (BOOL)mouseMoved:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (BOOL)_applyWithEvent:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (void)_deleteOriginalData;
- (unsigned long long)_effectiveFeatures;
- (void)_prepareSnapToAlignData:(id)a0 minOffset:(SEL)a1 maxOffset:(unsigned short)a2;
- (void)_saveOriginalData;
- (void)_setAuthoringEnvironment:(id)a0;
- (void /* unknown type, empty encoding */)_snapPositionToAlign:(id)a0 original:(SEL)a1 unit:(struct SCNVector3 { float x0; float x1; float x2; })a2 axisMove:(double)a3 rayStart:(BOOL)a4 rayDir:(BOOL *)a5 didSnap:(long long *)a6 snapIndexes:(void /* unknown type, empty encoding */)a7;
- (void)_updateActionWithEvent:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (void)_updateCloneStateWithEvent:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (void)addClonesToScene;
- (void)clearSnapIndexes;
- (void)editingSpaceChanged;
- (long long)effectiveEditingSpace;
- (void)lockLayout;
- (BOOL)mouseDragged:(struct { id x0; id x1; struct CGPoint { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct SCNVector3 { float x0; float x1; float x2; } x4; struct SCNVector3 { float x0; float x1; float x2; } x5; double x6; })a0;
- (void)prepareSnapToAlignData;
- (void)prepareSnapToAlignDataIfNeeded;
- (void)removeClonesFromScene;
- (void)setAlternateMode:(BOOL)a0;
- (id)setupClones;
- (void)setupNode;
- (id)snapGuideIndexesOnAxis:(unsigned long long)a0;
- (const struct { float x0; void *x1; float x2; } *)snapInfoAtIndex:(unsigned long long)a0 axis:(unsigned long long)a1;
- (void)unhighlightSelectedNode;
- (void)unlockLayout;
- (void)updateItemsPosition;
- (void)updateItemsRotation:(SEL)a0;
- (void)updateItemsScale:(float)a0;
- (void)updateManipulatorComponents;
- (void)updateManipulatorNode;
- (void)updateManipulatorPosition:(struct __C3DEngineContext { } *)a0;
- (void)validateClones;

@end