bool ModelValidator::isValid(const TextAnnotation& textAnnotation, bool allowDefaults/* = false*/) { RETURN_IF_STR_EMPTY(textAnnotation.GetText(), "Annotation Text"); if (textAnnotation.GetConnectorPoints() != NULL) { RETURN_IF_NOT_VALID1(*textAnnotation.GetConnectorPoints(), allowDefaults, "Text connection points are invalid"); if (textAnnotation.GetConnectorPoints()->GetSpatialCoordinateCollection().size() > 2) RETURN_WITH_ERROR("No more than two text connection points are allowed"); } if (!allowDefaults) { RETURN_IF_STR_EMPTY(textAnnotation.GetFont(), "Font"); RETURN_IF_STR_EMPTY(textAnnotation.GetFontColor(), "Font Color"); RETURN_IF_STR_EMPTY(textAnnotation.GetFontEffect(), "Font Effect"); RETURN_IF_STR_EMPTY(textAnnotation.GetFontSize(), "Font Size"); RETURN_IF_STR_EMPTY(textAnnotation.GetFontStyle(), "Font Style"); RETURN_IF_STR_EMPTY(textAnnotation.GetFontOpacity(), "Font Opacity"); RETURN_IF_STR_EMPTY(textAnnotation.GetTextJustify(), "Text Justify"); } return true; }