Class CylindroidHolder
Represents a cylindrical tool holder for machining operations.
public class CylindroidHolder : IHolder, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IAnchoredDisplayee, IDisplayee, IExpandToBox3d, IMakeXmlSource, IAbstractNote, IGetFletchMount, IDuplicate, INameNote, IAnchoredCollidabled, IGetCollidable, IGetAnchor, IGetTopoIndex, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IClearCache
- Inheritance
-
CylindroidHolder
- Implements
- Inherited Members
- Extension Methods
Constructors
CylindroidHolder()
Ctor.
public CylindroidHolder()
CylindroidHolder(Cylindroid)
Ctor.
public CylindroidHolder(Cylindroid cylindroid)
Parameters
cylindroidCylindroidThe cylindroid geometry for this holder.
CylindroidHolder(XElement, string, string, IProgress<IMessage>)
Initializes a new instance of the CylindroidHolder class from XML.
public CylindroidHolder(XElement src, string baseDirectory, string relFile, IProgress<IMessage> progress)
Parameters
srcXElementThe XML element containing holder data.
baseDirectorystringThe base directory for resolving relative paths.
relFilestringThe relative file path.
progressIProgress<IMessage>Progress reporter for diagnostic messages emitted during construction.
Fields
XName
XML Name.
public static string XName
Field Value
Properties
AbstractNote
Gets a descriptive note or abstract about the object.
public string AbstractNote { get; }
Property Value
Branch
Gets the branch connecting the fletch mount to the tail mount.
public Branch Branch { get; }
Property Value
CollidableName
Gets the name of the collidable object.
public string CollidableName { get; }
Property Value
CutterMount
Gets the cutter mount anchor.
public Anchor CutterMount { get; }
Property Value
Cylindroid
Gets or sets the cylindroid geometry that defines this holder.
public Cylindroid Cylindroid { get; set; }
Property Value
GeomAnchor
Equivalent of CutterMount.
public Anchor GeomAnchor { get; }
Property Value
Name
Gets or sets the name of the object.
public string Name { get; set; }
Property Value
Note
Gets or sets the descriptive note for the object.
public string Note { get; set; }
Property Value
PolarResolution2d
Gets or sets the polar resolution used for STL generation. Authored data. The resolution is part of a Solid's identity, so assigning this property swaps the holder's solid for one born with the new value (the old solid is disposed).
public PolarResolution2d PolarResolution2d { get; set; }
Property Value
SpindleMount
Gets the spindle mount anchor.
public Anchor SpindleMount { get; }
Property Value
Methods
ClearCache()
Clears any cached data held by the implementing object.
public void ClearCache()
Display(Bind)
Display function called in DispEngine rendering loop.
public void Display(Bind bind)
Parameters
bindBindBind with DispEngine. See Bind.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
protected virtual void Dispose(bool disposing)
Parameters
disposingbool
Duplicate(params object[])
Creates a deep copy of the object, excluding any source file references.
public object Duplicate(params object[] res)
Parameters
resobject[]Optional parameters that may be needed during the duplication process
Returns
- object
A new instance that is a deep copy of the original object
ExpandToBox3d(ref box3d_t)
Expands the destination box.
This function is usually used to compute the bounding box of elements.
box3d_t is a value type, so the destination is passed by reference
(the C++ expand_to_box3d(box3&) shape); an implementation writes
dst = dst.Expanded(...) or forwards ref dst to its parts.
public void ExpandToBox3d(ref box3d_t dst)
Parameters
dstbox3d_tDestination box, expanded in place
GetAnchor()
Get key anchor. (i.e. root anchor)
public Anchor GetAnchor()
Returns
- Anchor
key anchor
GetAnchoredCollidableNode()
Gets the anchored collidable node associated with this object.
public IAnchoredCollidableNode GetAnchoredCollidableNode()
Returns
- IAnchoredCollidableNode
The anchored collidable node.
GetAnchoredDisplayeeList()
Gets a list of anchored displayable objects.
public List<IAnchoredDisplayee> GetAnchoredDisplayeeList()
Returns
- List<IAnchoredDisplayee>
A list of IAnchoredDisplayee objects
GetAsmb()
Gets the key asmb.
public Asmb GetAsmb()
Returns
- Asmb
The key asmb.
GetCollidable()
Get ICollidable.
public ICollidable GetCollidable()
Returns
- ICollidable
The collidable object.
GetCollidableAnchor()
Gets the anchor associated with the collidable object.
public Anchor GetCollidableAnchor()
Returns
GetCollidee()
Get ICollidee.
public ICollidee GetCollidee()
Returns
GetFletchMount()
Get fletch mount anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side.
public Anchor GetFletchMount()
Returns
- Anchor
mount anchor
GetSolid()
Gets the solid geometry object.
public Solid GetSolid()
Returns
- Solid
The solid geometry object.
GetTailMount()
Gets the cutter mount anchor, generally located on the free-end side.
public Anchor GetTailMount()
Returns
MakeXmlSource(string, string, bool)
Creates an XML representation of the object. This method may also generate additional resources such as related files.
public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)
Parameters
baseDirectorystringThe base directory for resolving relative paths
relFilestringThe relative file path for the XML source
exhibitionOnlyboolif true, the extended file creation is suppressed.
Returns
- XElement
An XML element representing the object's state
Remarks
For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
The baseDirectory is typically the folder at the nearest configuration file folder.
Since the folder can be moving with the configuration file.
Reg(XFactory)
Registers this type's deserializer with the given XFactory
(or Default when factory is
null). Idempotent.
public static void Reg(XFactory factory = null)
Parameters
factoryXFactory
UpdateByCylindroid()
Update Branch By Cylindroid. Call the function if the Cylindroid content changed.
public void UpdateByCylindroid()