public sealed class SubDVertex : SubDComponent
Single vertex of a SubD

Properties

ComponentDirection

public bool ComponentDirection { get; set; }
True when this component is referenced with the reverse of its natural orientation. This is always false for vertices, and for edges and faces obtained directly from the parent SubD; it is only set on components reached through an oriented reference, such as the face on a given side of an oriented edge.
inherited fromSubDComponent

ControlNetPoint

#Since v7.0
public Point3d ControlNetPoint { get; set; }
Location of the "control net" point that this SubDVertex represents
Remarks: The setter of this property will refresh the neighborhood cache around the vertex everytime it is called. This is not efficient if you have multiple vertices to modify. In that case, call vertex.SetControlNetPoint(position, false) for all the vertices you want to modify, then call subd.ClearEvaluationCache()

EdgeCount

#Since v7.0
public int EdgeCount { get; }
Number of edges for this vertex

Edges

#Since v7.0
public IEnumerable<SubDEdge> Edges { get; }
All edges that this vertex is part of

FaceCount

#Since v7.0
public int FaceCount { get; }
Number of faces for this vertex

Id

[CLSCompliant(false)] public uint Id { get; }
Unique id within the parent SubD for this item
inherited fromSubDComponent

IsDamaged

public bool IsDamaged { get; }
Returns true if the SubD component is damaged.
inherited fromSubDComponent

IsDeleted

public bool IsDeleted { get; }
Returns true if the SubD component is deleted.
inherited fromSubDComponent

IsHidden

public bool IsHidden { get; }
Returns true if the SubD component is hidden.
inherited fromSubDComponent

IsHighlighted

public bool IsHighlighted { get; }
Returns true if the SubD component is highlighted.
inherited fromSubDComponent

IsLocked

public bool IsLocked { get; }
Returns true if the SubD component is locked.
inherited fromSubDComponent

IsSelected

public bool IsSelected { get; }
Returns true if the SubD component is selected.
inherited fromSubDComponent

ParentSubD

public SubD ParentSubD { get; }
SubD that this component belongs to
inherited fromSubDComponent

Tag

#Since v7.5
public SubDVertexTag Tag { get; set; }
identifies the type of subdivision vertex

Methods

ClearSavedSubdivisionPoints

#Since v8.36
[ConstOperation] public void ClearSavedSubdivisionPoints(bool clearNeighborhood)
Discards the cached subdivision and surface points for this vertex, so they are recomputed on next use.
clearNeighborhood (bool)If true, the cached points of the neighboring components are discarded too. Moving a control net point changes the surface around it, not just at it, so pass true after an edit unless you know only this vertex is affected.

ComponentIndex

#Since v8.30
[ConstOperation] public ComponentIndex ComponentIndex()
Gets the component index of this vertex.
The component index.

EdgeAt

#Since v7.0
public SubDEdge EdgeAt(int index)
Retrieve a SubDEdge from this vertex
index (int)

Equals

public override bool Equals(object obj)
Determines whether an object is a SubDComponent referring to the same component, with the same orientation, in the same SubD.
inherited fromSubDComponent
obj (object)The object to compare with.
Object.Equals

Equals

public bool Equals(SubDComponent other)
Determines whether this component and another refer to the same component, with the same orientation, in the same SubD.
inherited fromSubDComponent
other (SubDComponent)The component to compare with.

FaceAt

#Since v7.7
public SubDFace FaceAt(int index)
Retrieve a SubDFace from this vertex
index (int)

GetHashCode

public override int GetHashCode()
Gets a hash code for this component.
inherited fromSubDComponent

ReverseComponentDirection

public SubDComponent ReverseComponentDirection()
Flips SubDComponent.ComponentDirection and returns this component, so it can be used inline where an oppositely oriented reference is wanted.
inherited fromSubDComponent
This component.

SetControlNetPoint

#Since v8.0
public bool SetControlNetPoint(Point3d position, bool bClearNeighborhoodCache)
Change the location of the "control net" point that this SubDVertex represents
Remarks: This method is provided to be able to set multiple control vertices, without clearing the neighborhood cache everytime as the ControlNetPoint property setter does. When you are done modifying your SubD, call subd.UpdateEvaluationCache() to refresh all caches.
position (Point3d)New position for the vertex' control net point.
bClearNeighborhoodCache (bool)If true, clear the evaluation cache in the faces around the modified vertex.
true if the vertex' control net point was modified.

SurfacePoint

#Since v7.1
public Point3d SurfacePoint()
The SubD surface point

ToString

public override string ToString()
Returns a string of the form "SubDEdge(+12)", naming the component type, the orientation it is referenced with, and its id.
inherited fromSubDComponent
Object.ToString