86 lines · 2.4 KB · C++
RawDownload
////  Created by Sam Gondelman 10/17/2017//  Copyright 2017 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//#include "Pick.h" const PickFilter PickFilter::NOTHING; int pickTypeMetaTypeId = qRegisterMetaType<PickQuery::PickType>("PickType"); PickQuery::PickQuery(const PickFilter& filter, const float maxDistance, const bool enabled) :    _filter(filter),    _maxDistance(maxDistance),    _enabled(enabled) {} void PickQuery::enable(bool enabled) {    withWriteLock([&] {        _enabled = enabled;    });} PickFilter PickQuery::getFilter() const {    return resultWithReadLock<PickFilter>([&] {        return _filter;    });} float PickQuery::getMaxDistance() const {    return _maxDistance;} bool PickQuery::isEnabled() const {    return resultWithReadLock<bool>([&] {        return _enabled;    });} void PickQuery::setPrecisionPicking(bool precisionPicking) {    withWriteLock([&] {        _filter.setFlag(PickFilter::PICK_COARSE, !precisionPicking);    });} void PickQuery::setPickResult(const PickResultPointer& pickResult) {    withWriteLock([&] {        _prevResult = pickResult;    });} QVector<QUuid> PickQuery::getIgnoreItems() const {    return resultWithReadLock<QVector<QUuid>>([&] {        return _ignoreItems;    });} QVector<QUuid> PickQuery::getIncludeItems() const {    return resultWithReadLock<QVector<QUuid>>([&] {        return _includeItems;    });} PickResultPointer PickQuery::getPrevPickResult() const {    return resultWithReadLock<PickResultPointer>([&] {        return _prevResult;    });} void PickQuery::setIgnoreItems(const QVector<QUuid>& ignoreItems) {    withWriteLock([&] {        _ignoreItems = ignoreItems;        // We sort these items here so the PickCacheOptimizer can catch cases where two picks have the same ignoreItems in a different order        std::sort(_ignoreItems.begin(), _ignoreItems.end(), std::less<QUuid>());    });} void PickQuery::setIncludeItems(const QVector<QUuid>& includeItems) {    withWriteLock([&] {        _includeItems = includeItems;        // We sort these items here so the PickCacheOptimizer can catch cases where two picks have the same includeItems in a different order        std::sort(_includeItems.begin(), _includeItems.end(), std::less<QUuid>());    });}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t