Table of Contents

Class FreeformHolder

Namespace
Hi.NcMech.Holders
Assembly
HiMech.dll

Represents a freeform tool holder with customizable geometry.

public class FreeformHolder : IHolder, ITopoDisplayee, IGetAsmb, IGetTopoIndex, IAnchoredDisplayee, IGetRootAnchor, IDisplayee, IExpandToBox3d, IGetAnchoredDisplayeeList, IGetBuckleAnchorList, IMakeXmlSource, IAbstractNote, IGetFletchBuckle, IDuplicate, INameNote, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable
Inheritance
FreeformHolder
Implements
Inherited Members
Extension Methods

Constructors

FreeformHolder()

Ctor.

public FreeformHolder()

FreeformHolder(IGetStl)

Initializes a new instance of the FreeformHolder class from STL geometry.

public FreeformHolder(IGetStl rawGeom)

Parameters

rawGeom IGetStl

The STL geometry provider.

FreeformHolder(IGetStl, ITransformer)

Initializes a new instance of the FreeformHolder class from STL geometry with a transformer.

public FreeformHolder(IGetStl rawGeom, ITransformer transformer)

Parameters

rawGeom IGetStl

The STL geometry provider.

transformer ITransformer

The geometry transformer.

FreeformHolder(XElement, string, string)

Initializes a new instance of the FreeformHolder class from XML data.

public FreeformHolder(XElement src, string baseDirectory, string relFile)

Parameters

src XElement

The XML element containing holder data

baseDirectory string

Base directory path for resolving relative paths

relFile string

Relative file path

Fields

XName

XML Name.

public static string XName

Field Value

string

Properties

AbstractNote

Gets a descriptive note or abstract about the object.

public string AbstractNote { get; }

Property Value

string

CollidableName

Gets the name of the collidable object.

public string CollidableName { get; }

Property Value

string

CollisionFlag

Gets or sets the collision flag.

public CollisionFlag CollisionFlag { get; set; }

Property Value

CollisionFlag

GeomAnchor

Gets the geometry anchor point

public Anchor GeomAnchor { get; }

Property Value

Anchor

GeomToBaseBranch

Gets the branch from geometry to base

public Branch GeomToBaseBranch { get; }

Property Value

Branch

GeomToBaseTransformer

Gets or sets the transformer from geometry to base

public ITransformer GeomToBaseTransformer { get; set; }

Property Value

ITransformer

GeomToTailBranch

Gets the branch from geometry to tail

public Branch GeomToTailBranch { get; }

Property Value

Branch

GeomToTailTransformer

Gets or sets the transformer from geometry to tail

public ITransformer GeomToTailTransformer { get; set; }

Property Value

ITransformer

GeomTransformer

Gets or sets the geometry transformer.

public ITransformer GeomTransformer { get; set; }

Property Value

ITransformer

Name

Gets or sets the name of the object.

public string Name { get; set; }

Property Value

string

Note

Gets or sets the descriptive note for the object.

public string Note { get; set; }

Property Value

string

RawGeom

Gets or sets the raw geometry

public IGetStl RawGeom { get; set; }

Property Value

IGetStl

TransformationGeom

Gets the transformation geometry. Internal Use Only.

public TransformationGeom TransformationGeom { get; }

Property Value

TransformationGeom

Remarks

Call UpdateByRawGeomOrTransformer() to keep state of Hi.NcMech.Holders.FreeformHolder.Solid if content modified.

Methods

Display(Bind)

Display function called in DispEngine rendering loop.

public void Display(Bind bind)

Parameters

bind Bind

Bind 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

disposing bool

Duplicate(params object[])

Creates a deep copy of the object, excluding any source file references.

public object Duplicate(params object[] res)

Parameters

res object[]

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(Box3d)

Expands the destination box. This function is usually used to compute the bounding box of elements.

public void ExpandToBox3d(Box3d dst)

Parameters

dst Box3d

Destination box

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.

GetBuckleAnchorList()

Get buckle anchors.

public List<Anchor> GetBuckleAnchorList()

Returns

List<Anchor>

buckle anchors

GetCollidableAnchor()

Gets the anchor associated with this collidable leaf.

public Anchor GetCollidableAnchor()

Returns

Anchor

The anchor for this collidable leaf.

GetCollidee()

Get ICollidee.

public ICollidee GetCollidee()

Returns

ICollidee

ICollidee

GetFletchBuckle()

Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side.

public Anchor GetFletchBuckle()

Returns

Anchor

buckle anchor

GetRootAnchor()

Get root anchor.

public Anchor GetRootAnchor()

Returns

Anchor

root anchor.

GetSolid()

Gets the solid geometry object.

public Solid GetSolid()

Returns

Solid

The solid geometry object.

GetTailBuckle()

Tool Buckle. Generally locate on free-end-side.

public Anchor GetTailBuckle()

Returns

Anchor

MakeXmlSource(string, string)

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)

Parameters

baseDirectory string

The base directory for resolving relative paths

relFile string

The relative file path for the XML source

Returns

XElement

An XML element representing the object's state

UpdateByRawGeomOrTransformer()

Update Branch By RawGeom. Call the function if the RawGeom content changed.

public void UpdateByRawGeomOrTransformer()