we build a custom mapper with a special getneedtorebuild. narrowed it down to this:
needtorebuild =
//prp->GetColor() != p->GetColor() ||
//prp->GetAmbientColor() != p->GetAmbientColor() ||
//prp->GetDiffuseColor() != p->GetDiffuseColor() ||
//prp->GetSpecularColor() != p->GetSpecularColor() ||
//prp->GetEdgeColor() != p->GetEdgeColor() ||
//prp->GetVertexColor() != p->GetVertexColor() ||
//prp->GetAmbient() != p->GetAmbient() ||
//prp->GetDiffuse() != p->GetDiffuse() ||
//prp->GetSpecular() != p->GetSpecular() ||
//prp->GetSpecularPower() != p->GetSpecularPower() ||
//prp->GetOpacity() != p->GetOpacity() ||
//prp->GetInterpolation() != p->GetInterpolation() ||
prp->GetRepresentation() != p->GetRepresentation() ||
prp->GetEdgeVisibility() != p->GetEdgeVisibility() ||
prp->GetVertexVisibility() != p->GetVertexVisibility() ||
//prp->GetBackfaceCulling() != p->GetBackfaceCulling() ||
//prp->GetFrontfaceCulling() != p->GetFrontfaceCulling() ||
//prp->GetPointSize() != p->GetPointSize() ||
//prp->GetLineWidth() != p->GetLineWidth() ||
prp->GetLineStipplePattern() != p->GetLineStipplePattern() ||
prp->GetLineStippleRepeatFactor()!= p->GetLineStippleRepeatFactor() ||
//prp->GetLighting() != p->GetLighting() ||
prp->GetRenderPointsAsSpheres() != p->GetRenderPointsAsSpheres() ||
prp->GetRenderLinesAsTubes() != p->GetRenderLinesAsTubes() ||
prp->GetShading() != p->GetShading();