question about mesh color mapping

I divide the volume data into two parts, firstly, one is color with green and the other is color with white then to extract isosurface. when the tools is moving and touch with the white part, the white region will be color with red, that all. But when i startup application, the boundary between green and white part will be interpolate with red for some cells, just like picture below. i think the lookup table interpolating cause this. so how could i fix this bug? Is there anybody can help me ?

pseudocode below:

vtkNew<vtkLookupTable> lut;
lut->SetNumberOfTableValues(3);

double white[4]{1.0, 1.0, 1.0, 1.0};
double green[4]{0.0, 1.0, 0.0, 1.0};
double red[4]{1.0, 0.0, 0.0, 1.0};

enum RegionDefine
{
GREEN_REGION = 0,
LIMITED_REGIONV = 1,
WHITE_REGION = 2,
};

lut->SetTableValue(RegionDefine::WHITE_REGION, white);
lut->SetTableValue(RegionDefine::GREEN_REGION, green);
lut->SetTableValue(RegionDefine::LIMITED_REGION, red);

vtkSmartPointer mapper = vtkSmartPointer::New();

mapper->ScalarVisibilityOn();
mapper->SetLookupTable(lut);
mapper->SetScalarRange(0, lut->GetNumberOfColors());
mapper->SetScalarModeToUsePointFieldData();
mapper->ColorByArrayComponent(“status”, 0);
mapper->SetInputData(sdf_display_object);

Try to show what you are wanting with something simple, like vtkSphere? That way we can see all of your code here in simple form, and then will be better able to help you.