Class BodyBase<TProperty\>
Last update: 09.03.2026Namespace: VM.Managed.DAFUL
Assembly: VMDFBase.dll
This base class is to represent the body base.
public abstract class BodyBase<TProperty> : Entity<TProperty>, IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IMarkerCreatable, IFacesetCreatable, ICurvesetCreatable, IConnectableNotReference, IReferencable, IConnectableHasGeometry, IConnectable, IMarkerParent, IEntityRelation, IHasBody, IBody where TProperty : BodyPropertyBase, new()
Type Parameters
TProperty
The type of the property.
Inheritance
object ← ObservableObject ← LinkableBase ← ObjectBase ← Object<EntityEventCore> ← ContainerObject<EntityEventCore> ← EntityBase ← Entity<TProperty> ← BodyBase<TProperty>
Implements
IObservableObject, IDisposableObject, ILinkable, ILinkContainerEvent, IVerifiable, IHistoryObjectSerializable, IAttributeContainer, IContainer, IEntity, IEntityBase, IObjectBase, IObject, ILinkContainer, IOwned, IHasID, IEventProvider, IHasKeyObject, IHasName, IEnabled, IHasComment, IVisible, IDocumentOwner, INamed, INavigatorItem, IVisible, IMultiChangable, IHasProperty, IGroup, IMarkerCreatable, IFacesetCreatable, ICurvesetCreatable, IConnectableNotReference, IReferencable, IConnectableHasGeometry, IConnectable, IMarkerParent, IEntityRelation, IHasBody, IBody
Inherited Members
Entity<TProperty>.Initialize(Unit.ConvertFactor), Entity<TProperty>.GetUnnamedObjectName(object), Entity<TProperty>.FindLocal(string), Entity<TProperty>.Property, EntityBase.Initialize(Unit.ConvertFactor), EntityBase.SetOldNameWithNewEntity(ObjectBase, ObjectBase), EntityBase.PropertyRequestUpdate(object, LinkEventArgs), EntityBase.OnDeserializationForAttribute(), EntityBase.OnUpdatePropertyImpl(Property, LinkEventArgs), EntityBase.LinkRequestDestroying(object, LinkEventArgs), EntityBase.GetModelNavigatorInformationImpl(XmlDocument, XmlElement, bool), EntityBase.FixUp(ObjectBase), EntityBase.FindLocal(string), EntityBase.WriteTemplateImpl(XmlWriter), EntityBase.ReadTemplateImpl(XmlReader), EntityBase.LinkAddedToDocument(object, AddToDocEventArgs), EntityBase.OnDeserialization(object), EntityBase.Name, EntityBase.FullName, EntityBase.NonSymmetricName, EntityBase.DisplayName, EntityBase.IsEnabled, EntityBase.Comment, EntityBase.HasLayerExplicitly, EntityBase.UntypedProperty, EntityBase.IsFileProperty, EntityBase.Layer, EntityBase.IsVisible, ContainerObject<EntityEventCore>.Find(string), ContainerObject<EntityEventCore>.FindLocal(string), ContainerObject<EntityEventCore>.GetUnnamedObjectName(object), ContainerObject<EntityEventCore>.GetNewEntityName(string), ContainerObject<EntityEventCore>.GetNewEntityName(string, bool, int), ContainerObject<EntityEventCore>.GetNewEntityName(string, bool, int, int), Object<EntityEventCore>.GetKey(), Object<EntityEventCore>.Initialize(Unit.ConvertFactor), Object<EntityEventCore>.SetIconColor(Canvas), Object<EntityEventCore>.OnDeserialization(object), Object<EntityEventCore>.CustomGetObjectData(SerializationInfo, StreamingContext), Object<EntityEventCore>.RollbackEvent(), Object<EntityEventCore>.OnDeserializedCore(object), Object<EntityEventCore>.Key, Object<EntityEventCore>.UntypedEventCore, Object<EntityEventCore>.EventCore, Object<EntityEventCore>.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
BodyBase()
Initializes a new instance of the
protected BodyBase()
BodyBase(string)
Initializes a new instance of the
public BodyBase(string strName)
Parameters
strName string
Name of the body base.
Properties
Body
Gets the body.
public IBody Body { get; }
Property Value
IBody
ConnectableBody
Gets the connectable body.
public ObjectBase ConnectableBody { get; }
Property Value
ObjectBase
ConnectableFullName
Gets the full name of the connectable.
public string ConnectableFullName { get; }
Property Value
string
ConnectableName
Gets the name of the connectable.
public string ConnectableName { get; }
Property Value
string
ConnectablePosition
Sets the connectable position.
public Vector ConnectablePosition { set; }
Property Value
Vector
ConnectablePostfixName
Sets the postfix name of the connectable.
public string ConnectablePostfixName { set; }
Property Value
string
Geometry
Gets the geometry.
public virtual List<Body> Geometry { get; }
Property Value
List<Body>
HasLayerExplicitly
Gets a value indicating whether object has a layer explicitly.
protected override bool HasLayerExplicitly { get; }
Property Value
bool
IsVisible
Gets or sets the visible state.
public override bool IsVisible { get; set; }
Property Value
bool
Layer
Gets or sets the layer.
public override Layer Layer { get; set; }
Property Value
Layer
ParentType
Gets the type of the marker's parent.
public MarkerParentType ParentType { get; }
Property Value
ParentTypeImpl
Gets the parent type [implementation].
protected virtual MarkerParentType ParentTypeImpl { get; }
Property Value
ReferencableImpl
Gets a value indicating whether this
protected virtual bool ReferencableImpl { get; }
Property Value
bool
ReferenceFrameType
Gets the type of the marker's reference frame.
public MarkerReferenceFrameType ReferenceFrameType { get; }
Property Value
Methods
FixUp(ObjectBase)
Before destroy the old object, perform a work.
public override bool FixUp(ObjectBase ob)
Parameters
ob ObjectBase
The old object.
Returns
bool
true if success; otherwise, false.
GetArgumentList(LinkedList<ObjectBase>)
Get argument object list.
public override void GetArgumentList(LinkedList<ObjectBase> lstObj)
Parameters
lstObj LinkedList<ObjectBase>
The argument object list.
GetGeneralMarkerInfo(XmlDocument, XmlElement, Marker)
Gets the marker information for model navigator.
protected bool GetGeneralMarkerInfo(XmlDocument xmlDom, XmlElement xmlEle, Marker marker)
Parameters
xmlDom XmlDocument
The XmlDocument for marker.
xmlEle XmlElement
The XmlElement for marker.
marker Marker
The marker.
Returns
bool
true if success; otherwise, false.
GetGeomModelNavigatorInfo(XmlDocument, XmlElement, BodyProperty, Body)
Gets the geometry information for model navigator.
protected virtual bool GetGeomModelNavigatorInfo(XmlDocument xmlDom, XmlElement xmlEle, BodyProperty bodyProp, Body body)
Parameters
xmlDom XmlDocument
The XmlDocument for geometry.
xmlEle XmlElement
The XmlElement for geometry.
bodyProp BodyProperty
The body property.
body Body
The geometry.
Returns
bool
true if success; otherwise, false.
GetLayerImpl()
Gets the layer [implementation].
protected virtual Layer GetLayerImpl()
Returns
Layer
true if success; otherwise, false.
GetTargetListForUpdate()
Gets the update objects.
public override List<IEventProvider> GetTargetListForUpdate()
Returns
List<IEventProvider>
Initialize(ConvertFactor)
Initializes member through unit convert factor.
public override void Initialize(Unit.ConvertFactor factor)
Parameters
factor Unit.ConvertFactor
The unit convert factor.
MakeReferenceImpl(LinkedList<Reference>)
Makes the reference [implementation].
protected virtual void MakeReferenceImpl(LinkedList<Reference> lstRef)
Parameters
lstRef LinkedList<Reference>
The container.
OnUpdatePropertyImpl(Property, LinkEventArgs)
Called when [update property].
protected override void OnUpdatePropertyImpl(Property prop, LinkEventArgs arg)
Parameters
prop Property
The property.
arg LinkEventArgs
The
SetLayerImpl(Layer)
Sets the layer [implementation].
protected virtual void SetLayerImpl(Layer layer)
Parameters
layer Layer
The layer.