// --------------------------------------------------------------------------
void GRNotationElement::SendMap (const NVRect& map, MapCollector& f, TYPE_TIMEPOSITION date, TYPE_DURATION dur, GuidoElementType type, MapInfos& infos) const
{
	FloatRect r (map.left, map.top, map.right, map.bottom);
	r.Shift( infos.fPos.x, infos.fPos.y);
	r.Scale( infos.fScale.x, infos.fScale.y);

	GuidoDate from	= { date.getNumerator(), date.getDenominator() };
	TYPE_TIMEPOSITION end = date + dur;
	GuidoDate to	= { end.getNumerator(), end.getDenominator() };
	TimeSegment dates (from, to);			// current rolled segment
	GuidoElementInfos inf;
	inf.type = type;
	inf.staffNum = getStaffNumber();
	if (inf.staffNum < 0) inf.staffNum = 0;

	ARMusicalObject * ar = getAbstractRepresentation();
	inf.voiceNum = ar ? ar->getVoiceNum() : 0;
	f.Graph2TimeMap (r, dates, inf);
}