Пример #1
0
Файл: mbr.cpp Проект: Tyilo/tpie
    ///////////////////////////////////////////////////////////////////////////
    /// The current minimum bounding rectangle is extended to enclose the
    /// rectangle passed to this method.
    /// \param[in] in current rectangle read from input stream
    /// \param[in] sfin (scan flag)
    ///////////////////////////////////////////////////////////////////////////
    err operate(const rectangle<coord_t, oid_t> &in, SCAN_FLAG *sfin) {

	if (*sfin) {
	    if (mbr.get_id() == MAGIC_NUMBER_UNINITIALIZED_RECTANGLE) {
		mbr = in;
		// ...un-hack.
		mbr.set_id(0);
	    }
	    else {
		mbr.extend(in);
	    }
	} else {
	    out->write((char *) &mbr, sizeof(mbr));
	    std::cerr << " " << mbr.get_left() << " " << mbr.get_lower() 
		      << " " << mbr.get_right() << " " << mbr.get_upper() << " ";
	    return SCAN_DONE;
	}
	return SCAN_CONTINUE; 
    }