Represents a group of SVG elements. http://www.w3.org/TR/SVG/struct.html#Groups. More...
#include <Svg.h>
Inherits cinder::svg::Node.
Inherited by cinder::svg::Doc.
Public Member Functions | |
| Group (const Node *parent) | |
| Group (const Node *parent, const XmlTree &xml) | |
| ~Group () | |
| template<typename T > | |
| const T * | find (const std::string &id) |
Recursively searches for a child element of type svg::T named id. Returns NULL on failure to find the object or if it is not of type T. | |
| const Node * | findNode (const std::string &id, bool recurse=true) const |
| Recursively searches for a child element named id. Returns NULL on failure. | |
| template<typename T > | |
| const T * | findByIdContains (const std::string &idPartial) |
Recursively searches for a child element of type svg::T whose name contains idPartial. Returns NULL on failure to find the object or if it is not of type T. | |
| const Node * | findNodeByIdContains (const std::string &idPartial, bool recurse=true) const |
| Recursively searches for a child element whose name contains idPartial. Returns NULL on failure. (null_ptr later?) | |
| virtual const Node * | findInAncestors (const std::string &elementId) const |
| Finds the node with ID elementId amongst this Node's ancestors. Returns NULL on failure. | |
| const Node & | getChild (const std::string &id) const |
| Returns a reference to the child named id. Throws svg::ExcChildNotFound if not found. | |
| const Node & | operator/ (const std::string &id) const |
| Returns a reference to the child named id. Throws svg::ExcChildNotFound if not found. | |
| virtual Shape2d | getShape () const |
| Returns the merged Shape2d for all children of the group. | |
| void | appendMergedShape2d (Shape2d *appendTo) const |
| Appends the merged Shape2d for the group to appentTo. | |
| const std::list< Node * > & | getChildren () const |
| Returns a reference to the list of the Group's children. | |
| std::list< Node * > & | getChildren () |
| Returns a reference to the list of the Group's children. | |
| class Doc * | getDoc () const |
| Returns the svg::Doc this Node is an element of. | |
| const Node * | getParent () const |
| Returns the immediate parent of this node. | |
| const std::string & | getId () const |
| Returns the ID of this Node when present. | |
| std::string | getDomPath () const |
| Returns a DOM-style path to this node. | |
| const Style & | getStyle () const |
| Returns the style elements defined on this Node but not inherited from ancestors. | |
| void | setStyle (const Style &style) |
| Sets the style defined on this Node but not inherited from ancestors. | |
| Style | calcInheritedStyle () const |
| Returns the node's Style, including attributes inherited from its ancestors for attributes it does not specify. | |
| virtual bool | containsPoint (const Vec2f &pt) const |
| Returns whether the point pt is inside of the Node's shape. | |
| void | render (Renderer &renderer) const |
| Renders the node and its descendants. | |
| Paint | findPaintInAncestors (const std::string &paintName) const |
| Finds the svg::Paint node with ID elementId amongst this Node's ancestors. Returns a default svg::Paint instance on failure. | |
| bool | specifiesTransform () const |
| Returns whether this Node specifies a transformation. | |
| MatrixAffine2f | getTransform () const |
| Returns the local transformation of this node. Returns identity if the Node's transform isn't specified. | |
| void | setTransform (const MatrixAffine2f &transform) |
| Sets the local transformation of this node. | |
| void | unspecifyTransform () |
| Removes the local transformation of this node, effectively making it the identity matrix. | |
| MatrixAffine2f | getTransformInverse () const |
| Returns the inverse of the local transformation of this node. Returns identity if the Node's transform isn't specified. | |
| MatrixAffine2f | getTransformAbsolute () const |
| Returns the absolute transformation of this node, which includes inherited transformations. | |
| MatrixAffine2f | getTransformAbsoluteInverse () const |
| Returns the inverse of the absolute transformation of this node, which includes inherited transformations. | |
| Rectf | getBoundingBox () const |
| Returns the local bounding box of the Node. Calculated and cached the first time it is requested. | |
| Rectf | getBoundingBoxAbsolute () const |
| Returns the absolute bounding box of the Node. Calculated and cached the first time it is requested. | |
| Shape2d | getShapeAbsolute () const |
| Returns a Shape2d representing the node in absolute coordinates. Not supported for Text. | |
| const Paint & | getFill () const |
| Returns node's fill, or the first among its ancestors when it has none. | |
| const Paint & | getStroke () const |
| Returns node's stroke, or the first among its ancestors when it has none. | |
| float | getOpacity () const |
| Returns node's opacity, or the first among its ancestors when it has none. | |
| float | getFillOpacity () const |
| Returns node's fill opacity, or the first among its ancestors when it has none. | |
| float | getStrokeOpacity () const |
| Returns node's stroke opacity, or the first among its ancestors when it has none. | |
| FillRule | getFillRule () const |
| Returns node's fill rule, or the first among its ancestors when it has none. | |
| LineCap | getLineCap () const |
| Returns node's line cap, or the first among its ancestors when it has none. | |
| LineJoin | getLineJoin () const |
| Returns node's line join, or the first among its ancestors when it has none. | |
| float | getStrokeWidth () const |
| Returns node's stroke width, or the first among its ancestors when it has none. | |
| const std::vector< std::string > & | getFontFamilies () const |
| Returns node's font families, or the first among its ancestors when it has none. | |
| Value | getFontSize () const |
| Returns node's font size, or the first among its ancestors when it has none. | |
| bool | isVisible () const |
| Returns whether this Node is visible, or the first among its ancestors when unspecified. | |
| bool | isDisplayNone () const |
| Returns whether the Display property of this Node is set to 'None', preventing rendering of the node and its children. | |
Protected Member Functions | |
| Node * | nodeUnderPoint (const Vec2f &absolutePoint, const MatrixAffine2f &parentInverseMatrix) const |
| Shape2d | getMergedShape2d () const |
| virtual void | renderSelf (Renderer &renderer) const |
| virtual Rectf | calcBoundingBox () const |
| virtual bool | isDrawable () const |
| void | parse (const XmlTree &xml) |
| void | startRender (Renderer &renderer, const Style &style) const |
| void | finishRender (Renderer &renderer, const Style &style) const |
| void | parseStyle (const std::string &value) |
Static Protected Member Functions | |
| static Paint | parsePaint (const char *value, bool *specified, const Node *parentNode) |
| static MatrixAffine2f | parseTransform (const std::string &value) |
| static bool | parseTransformComponent (const char **c, MatrixAffine2f *result) |
| static std::string | findStyleValue (const std::string &styleString, const std::string &key) |
Protected Attributes | |
| std::list< Node * > | mChildren |
| std::shared_ptr< Group > | mDefs |
| const Node * | mParent |
| std::string | mId |
| Style | mStyle |
| bool | mSpecifiesTransform |
| MatrixAffine2f | mTransform |
| bool | mBoundingBoxCached |
| Rectf | mBoundingBox |
Represents a group of SVG elements. http://www.w3.org/TR/SVG/struct.html#Groups.
| cinder::svg::Group::Group | ( | const Node * | parent | ) |
| cinder::svg::Group::Group | ( | const Node * | parent, |
| const XmlTree & | xml | ||
| ) |
| const T* cinder::svg::Group::find | ( | const std::string & | id | ) |
Recursively searches for a child element of type svg::T named id. Returns NULL on failure to find the object or if it is not of type T.
| const Node * cinder::svg::Group::findNode | ( | const std::string & | id, |
| bool | recurse = true |
||
| ) | const |
Recursively searches for a child element named id. Returns NULL on failure.
| const T* cinder::svg::Group::findByIdContains | ( | const std::string & | idPartial | ) |
Recursively searches for a child element of type svg::T whose name contains idPartial. Returns NULL on failure to find the object or if it is not of type T.
| const Node * cinder::svg::Group::findNodeByIdContains | ( | const std::string & | idPartial, |
| bool | recurse = true |
||
| ) | const |
Recursively searches for a child element whose name contains idPartial. Returns NULL on failure. (null_ptr later?)
| const Node * cinder::svg::Group::findInAncestors | ( | const std::string & | elementId | ) | const [virtual] |
Finds the node with ID elementId amongst this Node's ancestors. Returns NULL on failure.
Reimplemented from cinder::svg::Node.
| const Node & cinder::svg::Group::getChild | ( | const std::string & | id | ) | const |
Returns a reference to the child named id. Throws svg::ExcChildNotFound if not found.
| const Node& cinder::svg::Group::operator/ | ( | const std::string & | id | ) | const |
Returns a reference to the child named id. Throws svg::ExcChildNotFound if not found.
| virtual Shape2d cinder::svg::Group::getShape | ( | ) | const [virtual] |
Returns the merged Shape2d for all children of the group.
Reimplemented from cinder::svg::Node.
| void cinder::svg::Group::appendMergedShape2d | ( | Shape2d * | appendTo | ) | const |
Appends the merged Shape2d for the group to appentTo.
| const std::list<Node*>& cinder::svg::Group::getChildren | ( | ) | const |
Returns a reference to the list of the Group's children.
| std::list<Node*>& cinder::svg::Group::getChildren | ( | ) |
Returns a reference to the list of the Group's children.
| Node * cinder::svg::Group::nodeUnderPoint | ( | const Vec2f & | absolutePoint, |
| const MatrixAffine2f & | parentInverseMatrix | ||
| ) | const [protected] |
| Shape2d cinder::svg::Group::getMergedShape2d | ( | ) | const [protected] |
| void cinder::svg::Group::renderSelf | ( | Renderer & | renderer | ) | const [protected, virtual] |
Implements cinder::svg::Node.
| Rectf cinder::svg::Group::calcBoundingBox | ( | ) | const [protected, virtual] |
Reimplemented from cinder::svg::Node.
| virtual bool cinder::svg::Group::isDrawable | ( | ) | const [protected, virtual] |
Reimplemented from cinder::svg::Node.
| void cinder::svg::Group::parse | ( | const XmlTree & | xml | ) | [protected] |
| Doc * cinder::svg::Node::getDoc | ( | ) | const [inherited] |
| const Node* cinder::svg::Node::getParent | ( | ) | const [inherited] |
Returns the immediate parent of this node.
| const std::string& cinder::svg::Node::getId | ( | ) | const [inherited] |
Returns the ID of this Node when present.
| string cinder::svg::Node::getDomPath | ( | ) | const [inherited] |
Returns a DOM-style path to this node.
| const Style& cinder::svg::Node::getStyle | ( | ) | const [inherited] |
Returns the style elements defined on this Node but not inherited from ancestors.
| void cinder::svg::Node::setStyle | ( | const Style & | style | ) | [inherited] |
Sets the style defined on this Node but not inherited from ancestors.
| Style cinder::svg::Node::calcInheritedStyle | ( | ) | const [inherited] |
Returns the node's Style, including attributes inherited from its ancestors for attributes it does not specify.
| virtual bool cinder::svg::Node::containsPoint | ( | const Vec2f & | pt | ) | const [virtual, inherited] |
Returns whether the point pt is inside of the Node's shape.
Reimplemented in cinder::svg::Image, cinder::svg::Polyline, cinder::svg::Polygon, cinder::svg::Rect, cinder::svg::Path, cinder::svg::Ellipse, and cinder::svg::Circle.
| void cinder::svg::Node::render | ( | Renderer & | renderer | ) | const [inherited] |
Renders the node and its descendants.
| Paint cinder::svg::Node::findPaintInAncestors | ( | const std::string & | paintName | ) | const [inherited] |
Finds the svg::Paint node with ID elementId amongst this Node's ancestors. Returns a default svg::Paint instance on failure.
| bool cinder::svg::Node::specifiesTransform | ( | ) | const [inherited] |
Returns whether this Node specifies a transformation.
Reimplemented in cinder::svg::Gradient.
| MatrixAffine2f cinder::svg::Node::getTransform | ( | ) | const [inherited] |
Returns the local transformation of this node. Returns identity if the Node's transform isn't specified.
| void cinder::svg::Node::setTransform | ( | const MatrixAffine2f & | transform | ) | [inherited] |
Sets the local transformation of this node.
| void cinder::svg::Node::unspecifyTransform | ( | ) | [inherited] |
Removes the local transformation of this node, effectively making it the identity matrix.
| MatrixAffine2f cinder::svg::Node::getTransformInverse | ( | ) | const [inherited] |
Returns the inverse of the local transformation of this node. Returns identity if the Node's transform isn't specified.
| MatrixAffine2f cinder::svg::Node::getTransformAbsolute | ( | ) | const [inherited] |
Returns the absolute transformation of this node, which includes inherited transformations.
| MatrixAffine2f cinder::svg::Node::getTransformAbsoluteInverse | ( | ) | const [inherited] |
Returns the inverse of the absolute transformation of this node, which includes inherited transformations.
| Rectf cinder::svg::Node::getBoundingBox | ( | ) | const [inherited] |
Returns the local bounding box of the Node. Calculated and cached the first time it is requested.
| Rectf cinder::svg::Node::getBoundingBoxAbsolute | ( | ) | const [inherited] |
Returns the absolute bounding box of the Node. Calculated and cached the first time it is requested.
| Shape2d cinder::svg::Node::getShapeAbsolute | ( | ) | const [inherited] |
| const Paint & cinder::svg::Node::getFill | ( | ) | const [inherited] |
Returns node's fill, or the first among its ancestors when it has none.
| const Paint & cinder::svg::Node::getStroke | ( | ) | const [inherited] |
Returns node's stroke, or the first among its ancestors when it has none.
| float cinder::svg::Node::getOpacity | ( | ) | const [inherited] |
Returns node's opacity, or the first among its ancestors when it has none.
| float cinder::svg::Node::getFillOpacity | ( | ) | const [inherited] |
Returns node's fill opacity, or the first among its ancestors when it has none.
| float cinder::svg::Node::getStrokeOpacity | ( | ) | const [inherited] |
Returns node's stroke opacity, or the first among its ancestors when it has none.
| FillRule cinder::svg::Node::getFillRule | ( | ) | const [inherited] |
Returns node's fill rule, or the first among its ancestors when it has none.
| LineCap cinder::svg::Node::getLineCap | ( | ) | const [inherited] |
Returns node's line cap, or the first among its ancestors when it has none.
| LineJoin cinder::svg::Node::getLineJoin | ( | ) | const [inherited] |
Returns node's line join, or the first among its ancestors when it has none.
| float cinder::svg::Node::getStrokeWidth | ( | ) | const [inherited] |
Returns node's stroke width, or the first among its ancestors when it has none.
| const vector< string > & cinder::svg::Node::getFontFamilies | ( | ) | const [inherited] |
Returns node's font families, or the first among its ancestors when it has none.
| Value cinder::svg::Node::getFontSize | ( | ) | const [inherited] |
Returns node's font size, or the first among its ancestors when it has none.
| bool cinder::svg::Node::isVisible | ( | ) | const [inherited] |
Returns whether this Node is visible, or the first among its ancestors when unspecified.
| bool cinder::svg::Node::isDisplayNone | ( | ) | const [inherited] |
| void cinder::svg::Node::startRender | ( | Renderer & | renderer, |
| const Style & | style | ||
| ) | const [protected, inherited] |
| void cinder::svg::Node::finishRender | ( | Renderer & | renderer, |
| const Style & | style | ||
| ) | const [protected, inherited] |
| Paint cinder::svg::Node::parsePaint | ( | const char * | value, |
| bool * | specified, | ||
| const Node * | parentNode | ||
| ) | [static, protected, inherited] |
| MatrixAffine2f cinder::svg::Node::parseTransform | ( | const std::string & | value | ) | [static, protected, inherited] |
| bool cinder::svg::Node::parseTransformComponent | ( | const char ** | c, |
| MatrixAffine2f * | result | ||
| ) | [static, protected, inherited] |
| std::string cinder::svg::Node::findStyleValue | ( | const std::string & | styleString, |
| const std::string & | key | ||
| ) | [static, protected, inherited] |
| void cinder::svg::Node::parseStyle | ( | const std::string & | value | ) | [protected, inherited] |
std::list<Node*> cinder::svg::Group::mChildren [protected] |
std::shared_ptr<Group> cinder::svg::Group::mDefs [protected] |
const Node* cinder::svg::Node::mParent [protected, inherited] |
std::string cinder::svg::Node::mId [protected, inherited] |
Style cinder::svg::Node::mStyle [protected, inherited] |
bool cinder::svg::Node::mSpecifiesTransform [protected, inherited] |
Reimplemented in cinder::svg::Gradient.
MatrixAffine2f cinder::svg::Node::mTransform [protected, inherited] |
Reimplemented in cinder::svg::Gradient.
bool cinder::svg::Node::mBoundingBoxCached [mutable, protected, inherited] |
Rectf cinder::svg::Node::mBoundingBox [mutable, protected, inherited] |