   __host__ __device__ CostEvaluator(int width, int height,
                                     Placement::CostFunctionWeights weights,
                                     unsigned char labelShadowValue,
-                                    unsigned int connectorShadowValue)
+                                    unsigned char connectorShadowValue,
+                                    unsigned char anchorConstraintValue)
     : width(width), height(height), weights(weights),
       labelShadowValue(labelShadowValue),
-      connectorShadowValue(connectorShadowValue)
+      connectorShadowValue(connectorShadowValue),
+      anchorConstraintValue(anchorConstraintValue)
   {
   }
 


    unsigned char labelShadow = constraintValue & labelShadowValue;
    unsigned char connectorShadow = constraintValue & connectorShadowValue;

    float cost = weights.labelShadowConstraint * labelShadow +
                 weights.connectorShadowConstraint * connectorShadow +
                 weights.occupancy * occupancyForLabelArea(x, y) +
                 weights.distanceToAnchor * distanceToAnchor +
                 weights.favorHorizontalOrVerticalLines *

  Placement::CostFunctionWeights weights;
  const unsigned char labelShadowValue;
  const unsigned char connectorShadowValue;
  const unsigned char anchorConstraintValue;

  int halfLabelWidth;
  int halfLabelHeight;
