ShapeGuide Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Shape Guide.
This class is available in Office 2007 and above.
When the object is serialized out as xml, it's qualified name is a:gd.
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(10, "gd")]
public class ShapeGuide : DocumentFormat.OpenXml.OpenXmlLeafElement
public class ShapeGuide : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr(10, "gd")]
public class ShapeGuide : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr("a:gd")]
public class ShapeGuide : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr("a:gd")]
public class ShapeGuide : DocumentFormat.OpenXml.TypedOpenXmlLeafElement
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class ShapeGuide : DocumentFormat.OpenXml.OpenXmlLeafElement
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(10, "gd")>]
type ShapeGuide = class
inherit OpenXmlLeafElement
type ShapeGuide = class
inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr(10, "gd")>]
type ShapeGuide = class
inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr("a:gd")>]
type ShapeGuide = class
inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr("a:gd")>]
type ShapeGuide = class
inherit TypedOpenXmlLeafElement
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type ShapeGuide = class
inherit OpenXmlLeafElement
Public Class ShapeGuide
Inherits OpenXmlLeafElement
Public Class ShapeGuide
Inherits TypedOpenXmlLeafElement
- Inheritance
- Inheritance
- Attributes
Remarks
[ISO/IEC 29500-1 1st Edition]
gd (Shape Guide)
This element specifies the precense of a shape guide that is used to govern the geometry of the specified shape. A shape guide consists of a formula and a name that the result of the formula is assigned to. Recognized formulas are listed with the fmla attribute documentation for this element.
[Note: The order in which guides are specified determines the order in which their values are calculated. For instance it is not possible to specify a guide that uses another guides result when that guide has not yet been calculated. end note]
[Example: Consider the case where the user would like to specify a triangle with it's bottom edge defined not by static points but by using a varying parameter, namely an guide. Consider the diagrams and DrawingML shown below. This first triangle has been drawn with a bottom edge that is equal to the 2/3 the value of the shape height. Thus we see in the figure below that the triangle appears to occupy 2/3 of the vertical space within the shape bounding box.
578c5088-5a52-4f13-a3f4-8a0fb4c8ed2f
<a:xfrm>
<a:off x="3200400" y="1600200"/>
<a:ext cx="1705233" cy="679622"/>
</a:xfrm>
<a:custGeom>
<a:avLst/>
<a:gdLst>
<a:gd name="myGuide" fmla="*/ h 2 3"/>
</a:gdLst>
<a:ahLst/>
<a:cxnLst/>
<a:rect l="0" t="0" r="0" b="0"/>
<a:pathLst>
<a:path w="1705233" h="679622">
<a:moveTo>
<a:pt x="0" y="myGuide"/>
</a:moveTo>
<a:lnTo>
<a:pt x="1705233" y="myGuide"/>
</a:lnTo>
<a:lnTo>
<a:pt x="852616" y="0"/>
</a:lnTo>
<a:close/>
</a:path>
</a:pathLst>
</a:custGeom>
If however we change the guide to half that, namely 1/3. Then we see the entire bottom edge of the triangle move to now only occupy 1/3 of the toal space within the shape bounding box. This is because both of the bottom points in this triangle depend on this guide for their coordinate positions. The triangle and corresponding DrawingML shown below illustrate this point.
98bdf8a6-a22a-4467-9f2f-737dd98edbe1
<a:gdLst>
<a:gd name="myGuide" fmla="*/ h 1 3"/>
</a:gdLst>
end example]
Parent Elements |
---|
avLst (§20.1.9.5); gdLst (§20.1.9.12) |
Attributes | Description |
---|---|
fmla (Shape Guide Formula) | Specifies the formula that is used to calculate the value for a guide. Each formula has a certain number of arguments and a specific set of operations to perform on these arguments in order to generate a value for a guide. There are a total of 17 different formulas available. These are shown below with the usage for each defined. ('*/') - Multiply Divide Formula Arguments: 3 (fmla="*/ x y z") Usage: "*/ x y z" = ((x * y) / z) = value of this guide ('+-') - Add Subtract Formula Arguments: 3 (fmla="+- x y z") Usage: "+- x y z" = ((x + y) - z) = value of this guide ('+/') - Add Divide Formula Arguments: 3 (fmla="+/ x y z") Usage: "+/ x y z" = ((x + y) / z) = value of this guide ('?:') - If Else Formula Arguments: 3 (fmla="?: x y z") Usage: "?: x y z" = if (x > 0), then y = value of this guide, else z = value of this guide ('abs') - Absolute Value Formula Arguments: 1 (fmla="abs x") Usage: "abs x" = if (x < 0), then (-1) * x = value of this guide else x = value of this guide ('at2') - ArcTan Formula Arguments: 2 (fmla="at2 x y") Usage: "at2 x y" = arctan(y / x) = value of this guide ('cat2') - Cosine ArcTan Formula Arguments: 3 (fmla="cat2 x y z") Usage: "cat2 x y z" = (x*(cos(arctan(z / y))) = value of this guide ('cos') - Cosine Formula Arguments: 2 (fmla="cos x y") Usage: "cos x y" = (x * cos( y )) = value of this guide ('max') - Maximum Value Formula Arguments: 2 (fmla="max x y") Usage: "max x y" = if (x > y), then x = value of this guide else y = value of this guide ('min') - Minimum Value Formula Arguments: 2 (fmla="min x y") Usage: "min x y" = if (x < y), then x = value of this guide else y = value of this guide ('mod') - Modulo Formula Arguments: 3 (fmla="mod x y z") Usage: "mod x y z" = sqrt(x^2 + b^2 + c^2) = value of this guide ('pin') - Pin To Formula Arguments: 3 (fmla="pin x y z") Usage: "pin x y z" = if (y < x), then x = value of this guide else if (y > z), then z = value of this guide else y = value of this guide ('sat2') - Sine ArcTan Formula Arguments: 3 (fmla="sat2 x y z") Usage: "sat2 x y z" = (x*sin(arctan(z / y))) = value of this guide ('sin') - Sine Formula Arguments: 2 (fmla="sin x y") Usage: "sin x y" = (x * sin( y )) = value of this guide ('sqrt') - Square Root Formula Arguments: 1 (fmla="sqrt x") Usage: "sqrt x" = sqrt(x) = value of this guide ('tan') - Tangent Formula Arguments: 2 (fmla="tan x y") Usage: "tan x y" = (x * tan( y )) = value of this guide ('val') - Literal Value Formula Arguments: 1 (fmla="val x") Usage: "val x" = x = value of this guide [Note: Guides that have a literal value formula specified via fmla="val x" above should only be used within the avLst as an adjust value for the shape. This however is not strictly enforced. end note] The possible values for this attribute are defined by the ST_GeomGuideFormula simple type (§20.1.10.27). |
name (Shape Guide Name) | Specifies the name that is used to reference to this guide. This name can be used just as a variable would within an equation. That is this name can be substituted for literal values within other guides or the specification of the shape path. The possible values for this attribute are defined by the ST_GeomGuideName simple type (§20.1.10.28). |
[Note: The W3C XML Schema definition of this element’s content model (CT_GeomGuide) is located in §A.4.1. end note]
� ISO/IEC29500: 2008.
Constructors
ShapeGuide() |
Initializes a new instance of the ShapeGuide class. |
Properties
ChildElements |
Gets all the child nodes of the current element. (Inherited from OpenXmlElement) |
ExtendedAttributes |
Gets all extended attributes (attributes not defined in the schema) of the current element. (Inherited from OpenXmlElement) |
Features |
Gets a IFeatureCollection for the current element. This feature collection will be read-only, but will inherit features from its parent part and package if available. (Inherited from OpenXmlElement) |
FirstChild |
Gets the first child of the OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element. (Inherited from OpenXmlElement) |
Formula |
Shape Guide Formula Represents the following attribute in the schema: fmla |
HasAttributes |
Gets a value indicating whether the current element has any attributes. (Inherited from OpenXmlElement) |
HasChildren |
Gets a value that indicates whether the current element has any child elements. (Inherited from OpenXmlLeafElement) |
InnerText |
Gets or sets the concatenated values of the node and all of its children. (Inherited from OpenXmlElement) |
InnerXml |
Gets or sets the markup that only represents child elements of the current element. (Inherited from OpenXmlLeafElement) |
LastChild |
Gets the last child of the OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element. (Inherited from OpenXmlElement) |
LocalName | |
LocalName |
Gets the local name of the current element. (Inherited from OpenXmlElement) |
MCAttributes |
Gets or sets the markup compatibility attributes. Returns null if no markup compatibility attributes are defined for the current element. (Inherited from OpenXmlElement) |
Name |
Shape Guide Name Represents the following attribute in the schema: name |
NamespaceDeclarations |
Gets all the namespace declarations defined in the current element. Returns an empty enumerator if there is no namespace declaration. (Inherited from OpenXmlElement) |
NamespaceUri |
Gets the namespace URI of the current element. (Inherited from OpenXmlElement) |
OpenXmlElementContext |
Gets the OpenXmlElementContext of the current element. (Inherited from OpenXmlElement) |
OuterXml |
Gets the markup that represents the current element and all of its child elements. (Inherited from OpenXmlElement) |
Parent |
Gets the parent element of the current element. (Inherited from OpenXmlElement) |
Prefix |
Gets the namespace prefix of current element. (Inherited from OpenXmlElement) |
XmlQualifiedName |
Gets the qualified name of the current element. (Inherited from OpenXmlElement) |
XName |
Gets the qualified name of the current element. (Inherited from OpenXmlElement) |
Methods
AddAnnotation(Object) |
Adds an object to the current OpenXmlElement element's list of annotations. (Inherited from OpenXmlElement) |
AddNamespaceDeclaration(String, String) |
Adds a namespace declaration to the current node. (Inherited from OpenXmlElement) |
Ancestors() |
Enumerates all of the current element's ancestors. (Inherited from OpenXmlElement) |
Ancestors<T>() |
Enumerates only the current element's ancestors that have the specified type. (Inherited from OpenXmlElement) |
Annotation(Type) |
Get the first annotation object of the specified type from the current OpenXmlElement element. (Inherited from OpenXmlElement) |
Annotation<T>() |
Get the first annotation object of the specified type from the current OpenXmlElement element. (Inherited from OpenXmlElement) |
Annotations(Type) |
Gets a collection of annotations with the specified type for the current OpenXmlElement element. (Inherited from OpenXmlElement) |
Annotations<T>() |
Gets a collection of annotations with the specified type for the current OpenXmlElement element. (Inherited from OpenXmlElement) |
Append(IEnumerable<OpenXmlElement>) |
Appends each element from a list of elements to the end of the current element's list of child elements. (Inherited from OpenXmlElement) |
Append(OpenXmlElement[]) |
Appends each element from an array of elements to the end of the current element's list of child elements. (Inherited from OpenXmlElement) |
AppendChild<T>(T) |
Appends the specified element to the end of the current element's list of child nodes. (Inherited from OpenXmlElement) |
ClearAllAttributes() |
Clears all of the attributes, including both known attributes and extended attributes. (Inherited from OpenXmlElement) |
Clone() |
Creates a duplicate of the current node. (Inherited from OpenXmlElement) |
CloneNode(Boolean) |
Creates a duplicate of this node. |
Descendants() |
Enumerates all of the current element's descendants. (Inherited from OpenXmlElement) |
Descendants<T>() |
Enumerate all of the current element's descendants of type T. (Inherited from OpenXmlElement) |
Elements() |
Enumerates all of the current element's children. (Inherited from OpenXmlElement) |
Elements<T>() |
Enumerates only the current element's children that have the specified type. (Inherited from OpenXmlElement) |
ElementsAfter() |
Enumerates all of the sibling elements that follow the current element and have the same parent as the current element. (Inherited from OpenXmlElement) |
ElementsBefore() |
Enumerates all of the sibling elements that precede the current element and have the same parent as the current element. (Inherited from OpenXmlElement) |
GetAttribute(String, String) |
Gets an Open XML attribute with the specified tag name and namespace URI. (Inherited from OpenXmlElement) |
GetAttributes() |
Gets a list that contains a copy of all the attributes. (Inherited from OpenXmlElement) |
GetEnumerator() |
Returns an enumerator that iterates through the child collection. (Inherited from OpenXmlElement) |
GetFirstChild<T>() |
Finds the first child element in type T. (Inherited from OpenXmlElement) |
InsertAfter<T>(T, OpenXmlElement) |
Inserts the specified element immediately after the specified reference element. (Inherited from OpenXmlElement) |
InsertAfterSelf<T>(T) |
Inserts the specified element immediately after the current element. (Inherited from OpenXmlElement) |
InsertAt<T>(T, Int32) |
Inserts the specified element at the specified index in the current element's list of child elements. (Inherited from OpenXmlElement) |
InsertBefore<T>(T, OpenXmlElement) |
Inserts the specified element immediately before the specified reference element. (Inherited from OpenXmlElement) |
InsertBeforeSelf<T>(T) |
Inserts the specified element immediately before the current element. (Inherited from OpenXmlElement) |
IsAfter(OpenXmlElement) |
Determines if the current element appears after a specified element in document order. (Inherited from OpenXmlElement) |
IsBefore(OpenXmlElement) |
Determines if the current element appears before a specified element in document order. (Inherited from OpenXmlElement) |
LookupNamespace(String) |
Resolves the namespace prefix in the context of the current node. (Inherited from OpenXmlElement) |
LookupPrefix(String) |
Finds the corresponding prefix for a namespace uri in the current element scope. (Inherited from OpenXmlElement) |
NextSibling() |
Gets the OpenXmlElement element that immediately follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement element. (Inherited from OpenXmlElement) |
NextSibling<T>() |
Gets the OpenXmlElement element with the specified type that follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement. (Inherited from OpenXmlElement) |
PrependChild<T>(T) |
Inserts the specified element at the beginning of the current element's list of child elements. (Inherited from OpenXmlElement) |
PreviousSibling() |
Gets the OpenXmlElement element that immediately precedes the current OpenXmlElement element. Returns null (Nothing in Visual Basic ) if there is no preceding OpenXmlElement element. (Inherited from OpenXmlElement) |
PreviousSibling<T>() |
Gets the OpenXmlElement element with the specified type that precedes the current OpenXmlElement. Returns null (Nothing in Visual Basic) if there is no preceding OpenXmlElement element. (Inherited from OpenXmlElement) |
Remove() |
Removes the current element from its parent. (Inherited from OpenXmlElement) |
RemoveAllChildren() |
Removes all child elements of the current element. (Inherited from OpenXmlLeafElement) |
RemoveAllChildren<T>() |
Remove all of the current element's child elements that are of type T. (Inherited from OpenXmlElement) |
RemoveAnnotations(Type) |
Removes the annotations of the specified type from the current OpenXmlElement element. (Inherited from OpenXmlElement) |
RemoveAnnotations<T>() |
Removes the annotations with the specified type from the current OpenXmlElement element. (Inherited from OpenXmlElement) |
RemoveAttribute(String, String) |
Removes the attribute from the current element. (Inherited from OpenXmlElement) |
RemoveChild<T>(T) |
Removes the specified child element from the current element's list of child elements. (Inherited from OpenXmlElement) |
RemoveNamespaceDeclaration(String) |
Removes the namespace declaration for the specified prefix. Removes nothing if there is no prefix. (Inherited from OpenXmlElement) |
ReplaceChild<T>(OpenXmlElement, T) |
Replaces a child element with another child element in the current element's list of child elements. (Inherited from OpenXmlElement) |
SetAttribute(OpenXmlAttribute) |
Sets an attribute to the specified element. If the attribute is a known attribute, the value of the attribute is set. If the attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list. (Inherited from OpenXmlElement) |
SetAttributes(IEnumerable<OpenXmlAttribute>) |
Sets a number of attributes to the element. If an attribute is a known attribute, the value of the attribute is set. If an attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list. (Inherited from OpenXmlElement) |
WriteTo(XmlWriter) |
Saves the current node to the specified XmlWriter. (Inherited from OpenXmlElement) |
Explicit Interface Implementations
IEnumerable.GetEnumerator() | (Inherited from OpenXmlElement) |
IEnumerable<OpenXmlElement>.GetEnumerator() |
Returns an enumerator that iterates through the child collection. (Inherited from OpenXmlElement) |