示例#1
0
void EclassModel::testSelect(Selector& selector, SelectionTest& test)
{
	// Pass the call down to the model node, if applicable
	SelectionTestablePtr selectionTestable = Node_getSelectionTestable(m_model.getNode());

    if (selectionTestable)
	{
		selectionTestable->testSelect(selector, test);
    }
}
示例#2
0
void Doom3Group::testSelect(Selector& selector, SelectionTest& test, SelectionIntersection& best)
{
	// Pass the call down to the model node, if applicable
	SelectionTestablePtr selectionTestable = Node_getSelectionTestable(m_model.getNode());

    if (selectionTestable)
	{
		selectionTestable->testSelect(selector, test);
    }

	m_curveNURBS.testSelect(selector, test, best);
	m_curveCatmullRom.testSelect(selector, test, best);
}
示例#3
0
    // The visitor function
    bool pre(const scene::INodePtr& node) {
        // Check if the node is filtered
        if (node->visible()) {
            SelectionTestablePtr selectionTestable = Node_getSelectionTestable(node);

            if (selectionTestable != NULL) {
                bool occluded;
                OccludeSelector selector(_bestIntersection, occluded);
                selectionTestable->testSelect(selector, _selectionTest);

                if (occluded) {
                    _node = node;
                }
            }
        }
        else {
            return false; // don't traverse filtered nodes
        }

        return true;
    }