private void drawUsingPolygons(TherapeuticPresence _mainApplet) {
   _mainApplet.fill(color, transparency);
   _mainApplet.noStroke();
   _mainApplet.beginShape(PConstants.POLYGON);
   for (int i = 0; i < anchorPointsCounter - 1; i++) {
     if (i == 0) {
       _mainApplet.vertex(
           anchorPoints[i].x, anchorPoints[i].y - strokeWeight, anchorPoints[i].z - zOffset);
     }
     _mainApplet.bezierVertex(
         controlPoints[i].x,
         controlPoints[i].y - strokeWeight,
         controlPoints[i].z - zOffset,
         controlPoints[i].x,
         controlPoints[i].y - strokeWeight,
         controlPoints[i].z - zOffset,
         anchorPoints[i + 1].x,
         anchorPoints[i + 1].y - strokeWeight,
         anchorPoints[i + 1].z - zOffset);
   }
   for (int i = anchorPointsCounter - 2; i >= 0; i--) {
     if (i == anchorPointsCounter - 2) {
       _mainApplet.vertex(
           anchorPoints[i + 1].x,
           anchorPoints[i + 1].y + strokeWeight,
           anchorPoints[i + 1].z - zOffset);
     }
     _mainApplet.bezierVertex(
         controlPoints[i].x,
         controlPoints[i].y + strokeWeight,
         controlPoints[i].z - zOffset,
         controlPoints[i].x,
         controlPoints[i].y + strokeWeight,
         controlPoints[i].z - zOffset,
         anchorPoints[i].x,
         anchorPoints[i].y + strokeWeight,
         anchorPoints[i].z - zOffset);
   }
   _mainApplet.endShape(PConstants.CLOSE);
 }