Class Face
Last update: 09.03.2026Namespace: VM.Managed.CAD
Assembly: VMAppCore.dll
This class is to represent the face in topology.
public class Face : Topology, IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ITopology, IDrawFacet, IFaceInformation
Inheritance
object ← ObservableObject ← LinkableBase ← ObjectBase ← Object<ObjectEventCore> ← Topology ← Face
Implements
IObservableObject, IDisposableObject, ILinkable, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, ITopology, IDrawFacet, IFaceInformation
Inherited Members
Topology.GetTypeName(), Topology.Initialize(Unit.ConvertFactor), Topology.ResetInvalidEntity(), Topology.GetPrefixName(), Topology.ConnectProxy(), Topology.OnDeserialization(object), Topology.GetName(), Topology.InitializeTopologyName(bool), Topology.GetUnnamedObjectName(object), Topology.GetColor(ref Color), Topology.IndexCont, Topology.IsValid, Topology.Body, Topology.Index, Object<ObjectEventCore>.GetKey(), Object<ObjectEventCore>.Initialize(Unit.ConvertFactor), Object<ObjectEventCore>.SetIconColor(Canvas), Object<ObjectEventCore>.OnDeserialization(object), Object<ObjectEventCore>.CustomGetObjectData(SerializationInfo, StreamingContext), Object<ObjectEventCore>.RollbackEvent(), Object<ObjectEventCore>.OnDeserializedCore(object), Object<ObjectEventCore>.Key, Object<ObjectEventCore>.UntypedEventCore, Object<ObjectEventCore>.EventCore, Object<ObjectEventCore>.Attributes, ObjectBase.ReplaceEventCore(ObjectEventCore), ObjectBase.SetModifiedCore(ModifiedResult.ModifiedType), ObjectBase.AddPostDeserialize(StreamingContext), ObjectBase.LinkAddedToDocumentCore(IOwned, bool), ObjectBase.SetModified(ModifiedResult.ModifiedType), ObjectBase.SetModified(), ObjectBase.SetModified(ModifiedResult.ModifiedType, IDocument), ObjectBase.DestroyObject(object, LinkEventArgs), ObjectBase.DestroyObject(DestroyEventArgs), ObjectBase.DestroyObject(), ObjectBase.Initialize(Unit.ConvertFactor), ObjectBase.FixUp(ObjectBase), ObjectBase.DoWorkAfterUpdateContents(), ObjectBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), ObjectBase.SetIconColor(Canvas), ObjectBase.RemoveFromCreatedList(), ObjectBase.PostAddToDocument(), ObjectBase.PostRemoveFromDocument(Document), ObjectBase.GetArgumentList(LinkedList<ObjectBase>), ObjectBase.ResetInvalidEntity(), ObjectBase.OnDeserialization(object), ObjectBase.IsSerializableEvent(Delegate), ObjectBase.CustomGetObjectData(SerializationInfo, StreamingContext), ObjectBase.CheckAndUpdateLink(HashSet<ObjectBase>), ObjectBase.Verify(VerifiedResult), ObjectBase.ConnectProxy(), ObjectBase.RollbackEvent(), ObjectBase.LinkRequestUpdating(object, LinkEventArgs), ObjectBase.LinkRequestUpdate(object, LinkEventArgs), ObjectBase.LinkRequestDestroying(object, LinkEventArgs), ObjectBase.LinkRequestDestroy(object, LinkEventArgs), ObjectBase.LinkAddedToDocument(object, AddToDocEventArgs), ObjectBase.LinkRemovedFromDocument(object, RemoveFromDocEventArgs), ObjectBase.DisposeManagedResources(), ObjectBase.GetDestroyEventExtraData(), ObjectBase.OnLinkReserved(ILink, object, EventArgs), ObjectBase.CreateEntityWhenUpdateContents(Action), ObjectBase.GetObjectByKey(UIntPtr), ObjectBase.FindObjectOnXmlDeserialize(string), ObjectBase.UpdateContents(XmlReader, ObjectBase, string), ObjectBase.UpdateContents(XmlReader, ObjectBase), ObjectBase.UpdateContents(string, string), ObjectBase.UpdateContents(string), ObjectBase.SetFlagWhenXMLFile(string, bool), ObjectBase.IsEqualArray<T>(T[], T[]), ObjectBase.IsEqualList(List<double>, List<double>), ObjectBase.SetContainer(IOwned, bool), ObjectBase.GetTargetListForUpdate(), ObjectBase.SkipUpdateObjectImpl(), ObjectBase.raise_OnUpdating(object, LinkEventArgs), ObjectBase.raise_OnUpdate(object, LinkEventArgs), ObjectBase.raise_OnDestroying(object, LinkEventArgs), ObjectBase.raise_OnDestroy(object, LinkEventArgs), ObjectBase.raise_Destroying(object, Identifier), ObjectBase.raise_OnAdded(object, AddToDocEventArgs), ObjectBase.raise_OnRemoved(object, RemoveFromDocEventArgs), ObjectBase.raise_OnContentsUpdated(object, EventArgs), ObjectBase.Dispose(bool), ObjectBase.SkipModified, ObjectBase.ClearChildInfoBeforeDeserialize, ObjectBase.KeyImpl, ObjectBase.ID, ObjectBase.TopologyEntityTypeName, ObjectBase.ObjectStateForCircularError, ObjectBase.ObjectState, ObjectBase.IsChildExternable, ObjectBase.IsExternable, ObjectBase.Container, ObjectBase.Owner, ObjectBase.Document, ObjectBase.UntypedEventCore, ObjectBase.KernelKey, ObjectBase.Key, ObjectBase.OnContentsUpdated, ObjectBase.OnRemoved, ObjectBase.OnAdded, ObjectBase.Destroying, ObjectBase.OnDestroy, ObjectBase.OnDestroying, ObjectBase.OnUpdate, ObjectBase.OnUpdating, LinkableBase.OnDeserialization(object), ObservableObject.Dispose(), ObservableObject.RaisePropertyChanged(string), ObservableObject.RaisePropertyChanged(string, object, object), ObservableObject.Dispose(bool), ObservableObject.DisposeManagedResources(), ObservableObject.DisposeUnmanagedResources(), ObservableObject.IsDisposed, ObservableObject.TryDisposing, ObservableObject.Disposed, ObservableObject.Disposing, ObservableObject.PropertyChanged
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Constructors
Face()
Initializes a new instance of the
public Face()
Methods
Draw(Canvas)
Draws face.
public void Draw(Canvas canvas)
Parameters
canvas Canvas
The canvas has icon information.
FacetPositions(FacetOption)
Gets the facet position array.
public VectorBase[] FacetPositions(FacetOption facetOptions)
Parameters
facetOptions FacetOption
The facet options.
Returns
GetArea()
Get area of face.
public double GetArea()
Returns
double
GetDefaultMaxPenetration(ref double)
Gets the default maximum penetration.
public bool GetDefaultMaxPenetration(ref double dMaxPenetration)
Parameters
dMaxPenetration double
The value holds maximum penetration.
Returns
bool
true if success; otherwise, false.
GetFacetInfo(FacetOption, ref VectorBase[], ref int[])
Get facet information.
public void GetFacetInfo(FacetOption facetOptions, ref VectorBase[] arPt, ref int[] arConnectivity)
Parameters
facetOptions FacetOption
The facet options.
arPt VectorBase[]
The facet point array.
arConnectivity int[]
The facet connetivity array.
GetFacetMidPointInfo(FacetOption, ref VectorBase[])
Get facet middle point information.
public void GetFacetMidPointInfo(FacetOption facetOptions, ref VectorBase[] arPt)
Parameters
facetOptions FacetOption
The facet options.
arPt VectorBase[]
The facet middle point array.
GetPointAndDirection(ref VectorBase, ref VectorBase, double, double)
public bool GetPointAndDirection(ref VectorBase vecPosition, ref VectorBase vecDirection, double dU, double dV)
Parameters
vecPosition VectorBase
vecDirection VectorBase
dU double
dV double
Returns
bool
GetPointAndDirection(ref VectorBase, ref VectorBase)
Gets the point and direction.
public bool GetPointAndDirection(ref VectorBase vecPosition, ref VectorBase vecDirection)
Parameters
vecPosition VectorBase
The position.
vecDirection VectorBase
The direction.
Returns
bool
true if success; otherwise, false.
GetPointAndDirectionFromBoundaryEdge(ref VectorBase, ref VectorBase, double, uint)
public bool GetPointAndDirectionFromBoundaryEdge(ref VectorBase vecPosition, ref VectorBase vecDirection, double dU, uint nIndex)
Parameters
vecPosition VectorBase
vecDirection VectorBase
dU double
nIndex uint
Returns
bool
GetPointAndDirectionFromFacet(FacetOption, ref VectorBase[], ref VectorBase[])
Gets the point and direction from facet.
public bool GetPointAndDirectionFromFacet(FacetOption facetOptions, ref VectorBase[] arPosition, ref VectorBase[] arDirection)
Parameters
facetOptions FacetOption
The facet options.
arPosition VectorBase[]
The position.
arDirection VectorBase[]
The direction.
Returns
bool
true if success; otherwise, false.
GetPointAndDirectionFromFacet(FacetOption, ref VectorBase, ref VectorBase)
Gets the point and direction from facet.
public bool GetPointAndDirectionFromFacet(FacetOption facetOptions, ref VectorBase vecPosition, ref VectorBase vecDirection)
Parameters
facetOptions FacetOption
The facet options.
vecPosition VectorBase
The position.
vecDirection VectorBase
The direction.
Returns
bool
true if success; otherwise, false.
GetTypeName()
Gets the name of topology(edge, face, vertex).
public override string GetTypeName()
Returns
string
The name of topology
IsReverseNormalDirection()
Determines whether is [reverse normal direction].
public bool IsReverseNormalDirection()
Returns
bool
true if is [reverse normal direction]; otherwise, false.
IsReverseNormalDirection(bool)
Determines whether is [reverse normal direction] [the toggle state].
public bool IsReverseNormalDirection(bool bToggle)
Parameters
bToggle bool
if set to true normal direction is moving currnet's opposite state.
Returns
bool
true if is [reverse normal direction] [the toggle state]; otherwise, false.
IsSphere()
Wheather face is sphere or not.
public bool IsSphere()
Returns
bool
RollbackNormalDirection()
Roll back normal direction.
public void RollbackNormalDirection()