@class CMAPrecisionFindingAnalytics, NSObject; @protocol OS_dispatch_queue, CMAPrecisionFindingDelegate; @interface CMAPrecisionFindingManager : NSObject { struct CMPrecisionFindingPositionEstimator { struct CMAPositionType { double timestamp; float distance; float horizontalAngle; float horizontalAngleAccuracy; BOOL isConverged; int revokeReason; BOOL isDistanceValid; } fPosition; struct CMFindingParticleFilterState { double timestamp; float horizontalAngleAccuracyUnfiltered; struct array { float __elems_[4]; } stateEstimate; } fParticleFilterState; struct CMPrecisionFindingVelocityEstimator { struct CMDownsampler { void /* function */ **_vptr$CMDownsampler; double fMinimumToleratedDt; double fLastTimestamp; } fDownsampler; struct CMVector { float elements[2]; } fPlanarVelocity; struct CMVector { float elements[2]; } fNoise; struct CMAOPFFTSensorBuffers { struct Buffers { struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialRotationRateX; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialRotationRateY; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialRotationRateZ; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userRotationRateX; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userRotationRateY; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userRotationRateZ; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialAccelX; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialAccelY; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } inertialAccelZ; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userAccelX; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userAccelY; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[1020]; } fStorage; } userAccelZ; struct CMFixedSizeQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[16]; struct CMQueueStorage { char buffer[4080]; } fStorage; } attitude; unsigned long long fTimestamp; struct CMFixedSizeQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[2]; struct CMQueueStorage { char buffer[252]; } fStorage; } timestampDelta; } fBuffers; unsigned long long fCountDeviceMotionForPDRFeatures; unsigned long long fCountDeviceMotionForPDRFeaturesFast; struct TNB { struct CMVector { float elements[3]; } userAccelInerLPF; struct CMVector { float elements[3]; } userAccelInerLPFPrev; struct CMVector { float elements[3]; } tangent; struct CMVector { float elements[3]; } binormal; BOOL isValid; struct CMVector { float elements[2]; } dotVector; struct CMVector { float elements[2]; } dotVectorFiltered; struct CLButterworthFilter { unsigned long long fPrimed; unsigned long long fOffset; float fData[5]; float fCoefficients[9]; } dotFilter[2]; } fTNB; } fSensorBuffers; struct CMPDRSpeedEstimator { float fSpeed; float fSpeedUnc; } fSpeedEstimator; struct CMAPrecisionFindingDOTEstimator { struct CMVector { float elements[3]; } fBodyYAxis; BOOL fIsWristCrownInitialized; struct CMAWatchOrientationStruct { double timestamp; int wrist; int crown; } fWristCrownConfig; } fDOTEstimator; BOOL fIsDOTAvailable; } fVelocityEstimator; struct CMFindingParticleFilter { struct RangeMeasurement { float range; float rangeShift; } fRangeMeasurement; struct VelocityEstimation { struct CMVector { float elements[2]; } velocity; struct CMVector { float elements[2]; } noise; } fVelocityMeasurement; float fSpeedMeasurenment; struct CMParticleFilter<4UL> { struct vector, std::allocator>> { void *__begin_; void *__end_; struct __compressed_pair *, std::allocator>> { void *__value_; } __end_cap_; } fParticles; struct vector> { float *__begin_; float *__end_; struct __compressed_pair> { float *__value_; } __end_cap_; } fWeights; unsigned long long fNumParticles; } fParticleFilter; void *fParticles; void *fWeights; unsigned long long fNumParticles; BOOL fWasMeasurementApplied; struct array { float __elems_[4]; } fCurrentState; float fAngularDeviation; double fTimestamp; struct CMVector { float elements[2]; } fCurrentAccel; struct CMVector { float elements[2]; } fBatchedDv; float fBatchedDt; unsigned long long fMeasurementCount; float fEstimatedRangeFromParticles; } fParticleFilter; BOOL fFirstSampleAccepted; BOOL fFirstArcShown; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; float fMean; float fVariance; float fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[36]; } fStorage; } fRangeBuffer; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; double fMean; double fVariance; double fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[8]; } fSamples; struct CMQueueStorage { char buffer[72]; } fStorage; } fRangeTimeBuffer; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; BOOL fMean; BOOL fVariance; BOOL fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[1]; } fSamples; struct CMQueueStorage { char buffer[9]; } fStorage; } fRangeIsValidBuffer; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; unsigned int fMean; unsigned int fVariance; unsigned int fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[12]; } fStorage; } fActivityBuffer; struct CMFixedSizeRunningBuffer { BOOL fIsStaleStatistics; unsigned int fMean; unsigned int fVariance; unsigned int fNorm; struct CMQueue { struct { unsigned short fHead; unsigned short fSize; } fHeadAndSize; unsigned int fCapacity; char fBuffer[4]; } fSamples; struct CMQueueStorage { char buffer[12]; } fStorage; } fActivityTimeBuffer; struct CMAWatchOrientationStruct { double timestamp; int wrist; int crown; } fWristCrownConfig; BOOL fWasPhoneMoving; BOOL fIsWristCrownInitialized; BOOL fIsFilterInitialized; unsigned long long fNumParticles; struct FirstOrderFilter { int fNumSamples; float fAlpha; float fFiltered; } fAngleUncertaintyFilter; struct FirstOrderFilter { int fNumSamples; float fAlpha; float fFiltered; } fFirstOrderRangeFilter; BOOL fSustainedLowRangeObserved; unsigned int fLowRangeCount; float fPreviousRange; double fPreviousRangeTimeStamp; double fLowAccuracyTimeStamp; float fRangeWhenArcRevokedDueToHighUncertainty; double fPreviousVelocityTimeStamp; struct optional { union { char __null_state_; struct CMARangeType { double timestamp; double range; double rangeError; double rssi; unsigned short cycleIndex; } __val_; } ; BOOL __engaged_; } fAcceptedRange; } _positionEstimator; struct CMPrecisionFinderDownsampler { void /* function */ **_vptr$CMDownsampler; unsigned long long fMinimumToleratedDt; unsigned long long fLastTimestamp; } _deviceMotionDownsampler; struct CMPrecisionFinderDownsampler { void /* function */ **_vptr$CMDownsampler; unsigned long long fMinimumToleratedDt; unsigned long long fLastTimestamp; } _positionDownsampler; struct CMPrecisionFinderDownsampler { void /* function */ **_vptr$CMDownsampler; unsigned long long fMinimumToleratedDt; unsigned long long fLastTimestamp; } _analyticsDownsampler; } @property (weak, nonatomic) id delegate; @property (retain, nonatomic) NSObject *delegateQueue; @property (nonatomic) BOOL deviceFindingClient; @property (retain, nonatomic) CMAPrecisionFindingAnalytics *analyticsManager; - (void)dealloc; - (id).cxx_construct; - (void).cxx_destruct; - (void)updateAnalytics; - (id)initWithDelegate:(id)a0 dispatchQueue:(id)a1; - (void)startDeviceFindingUpdates; - (void)stopDeviceFindingUpdates; - (void)updateAltimeterData:(id)a0; - (void)updateDeviceMotion:(id)a0; - (void)updatePeerState:(id)a0; - (void)updateRanging:(id)a0; - (void)updateWatchOrientation:(id)a0; @end