void renderWireframe(Renderer& renderer, const VolumeTest& volume) const { m_contained.renderWireframe(renderer, volume, Instance::localToWorld(), getSelectable().isSelected()); m_curveNURBS.renderComponentsSelected(renderer, volume, localToWorld()); m_curveCatmullRom.renderComponentsSelected(renderer, volume, localToWorld()); }
void testSelect(Selector& selector, SelectionTest& test) { test.BeginMesh(localToWorld()); SelectionIntersection best; m_contained.testSelect(selector, test, best); if(best.valid()) { Selector_add(selector, getSelectable(), best); } }
void Doom3GroupNode::testSelect(Selector& selector, SelectionTest& test) { test.BeginMesh(localToWorld()); SelectionIntersection best; // Pass the selection test to the Doom3Group class m_contained.testSelect(selector, test, best); // If the selectionIntersection is non-empty, add the selectable to the SelectionPool if (best.valid()) { Selector_add(selector, getSelectable(), best); } }
void LightInstance::renderWireframe (Renderer& renderer, const VolumeTest& volume) const { m_contained.renderWireframe(renderer, volume, Instance::localToWorld(), getSelectable().isSelected()); }
void BufferSender::handleIO( bool readyRead, bool readyWrite ) { mc2dbg2 << "[BufferSender]: handleIO(" << readyRead << ", " << readyWrite << ")" << " state: " << ::getStateString( getState() ) << " selectable: " << getSelectable() << endl; // // if we got read signal, which indicates error // if ( readyRead ) { m_impl->state = ERROR; } else if ( readyWrite ) { if ( getState() == CONNECTING ) { if ( m_impl->m_bufferSendTime.getTime() >= 1000 ) { mc2dbg << warn << "[BufferSender] Took " << m_impl->m_bufferSendTime << " to connect to " << " destination " << getDestination() << endl; } m_impl->state = READY; mc2dbg2 << "[BufferSender]: connected to: " << getDestination() << endl; } // start send clock if we start writting if ( m_impl->bytesLeft == m_impl->buff.size() ) { m_impl->m_bufferSendTime = DebugClock(); } // // send the buffer and reset timeout // setWorking(); send(); if ( m_impl->state == DONE ) { // if send time is larger than 1 second print info if ( m_impl->m_bufferSendTime.getTime() >= 1000 ) { // note: should probably use timer stuff in MultiPacketSender or // something else, since this class is not specific to Packets // (thus the extra size check here) if ( m_impl->buff.size() > 4 ) { Packet packet( m_impl->buff.data() + 4, m_impl->buff.size() - 4, true ); mc2dbg << warn << "[BufferSender] It took " << m_impl->m_bufferSendTime << " to send buffer." << " Packet type: " << packet.getSubTypeAsString() << endl; } } // start idle timer now when we got nothing to do setIdle(); } } else { // woohaa, would be very bad....and strange. MC2_ASSERT( readyRead && readyWrite ); } // if state is error // set timers to 0 and let the "creator" // of this selectable take care of it. if ( m_impl->state == ERROR ) { mc2dbg2 << "[BufferSender] socket error. socket:" << getSelectable() << endl; setTimeout( 0 ); } }