Click or drag to resize

Connector Class

Represents a location on an IConnectable object that another IConnectable object can connect to, via a suitable Connector of its own. When two Connectors are connected, their owning objects must be translated in space so that the respective Connector Location points coincide. Additionally, the orientation Normal may be used to align the two objects.
Inheritance Hierarchy
SystemObject
  Demo3D.VisualsConnector

Namespace: Demo3D.Visuals
Assembly: Demo3D.Core (in Demo3D.Core.dll) Version: 19.00.00
Syntax
C#
public class Connector : IDisposable

The Connector type exposes the following members.

Properties
 NameDescription
Public propertyAlignmentStyleDefines the manner in which objects align to each other when snapped together.
Public propertyAllowedList of connector Types that are allowed to connect with this connector. If empty then all connectors are allowed, as long as they are not named explicitly in the Disallowed list.
Public propertyAllowsTransferInIndicates whether this connector allows inbound transfers, i.e., TransferDirection == In or InOut.
Public propertyAllowsTransferOutIndicates whether this connector allows outbound transfers, i.e., TransferDirection == Out or InOut.
Public propertyAutoConfigureIf true, then the visual will reconfigure the connector to the built-in defaults upon reset. Set this to false if you have modified one of the built-in connectors (for example, "Start" on a conveyor).
Public propertyAutoConnectIf true then connector will snap to other connectors with AutoConnect enabled when brought close together (see also SnapDistance)
Public propertyBoundaryOffsetThe horizontal offset perpendicular to the connector.
Public propertyBoundingBox 
Public propertyBoundingSphere 
Public propertyCenterMid-point between Start and End locations in the visual's space.
Public propertyConnectedTo The first connector this connector is connected to, or null if no connected at all.
Public propertyConnectionWorldLocationIf connected then this is the effective location of the connection in world coordinates.
Public propertyConnectors All connectors that are connected to this one.
Public propertyControlPointEnabledIf true, then the control point will be shown to indicate location, name and orientation of this connector.
Public propertyControlPointSizeSize of the control point, when enabled.
Public propertyDisallowedList of connector Types that are not allowed to connect to this connector. If a Type appears in both Allowed and Disallowed, then Disallowed takes priority, and the Type is disallowed.
Public propertyDocument 
Public propertyEndLocation of end extent of the connector. The distance from Start to End defines the connector's width.
Public propertyHeightOffsetThe vertical offset perpendicular to the connector.
Public propertyIsConnected Is this connector connected to other connectors?
Public propertyIsOptimized 
Public propertyKeepInBoundsWith AutoConnect=True, then the snapping action also allows the visual with the shortest connector (distance from Start to End) to slide along the length of the longer partner connector (on the other visual). The KeepInBounds property (of the longer connector) defines whether the longer connector will allow the shorter connector to extend its length beyond the length of the longer connector.
Public propertyLayerIsVisible 
Public propertyLength Get the length of the connector.
Public propertyMaxAllowedConnections Optional limit to the number of connectors that this connector can connect to. This is int.MaxValue by default making it effectively unlimited.
Public propertyName The name of the connector.
Public propertyNormalDirection of the connector.
Public propertyParentThe Visual that owns this connector.
Public propertyReparentOnConnectWhen true, the owning visual will be reparented to the partner connector's owning visual. This is useful for creating components such as interchangeable robot end-effectors, which need to become part of the robot component when snapped into position.
Public propertySimulationTransferEnabledWhen true, in Linear Physics, a virtual sensor and stop blade are added to the ongoing conveyor that this conveyor will merge into via this outgoing connector. This enables a simple level of overlap avoidance without adding in explicit sensors and stops by hand.
Public propertySimulationTransferMotorVisualIn Linear Physics, this indicates the motor visual to use for the transfer speed of loads. If not set then it defaults to conveyor that owns the connector.
Public propertySimulationTransferPaddingIn Linear Physics, if SimulationTransferEnabled is true, this extends the sensor on the next conveyor back this distance. This allows the next conveyor to act as a main line and not block while a load is being transferred from this conveyor. This cannot be negative as that would cause loads to overlap.
Public propertySimulationTransferRotateAfterAngleIn Linear Physics, if the angle between two conveyors is less than this number then the load will transfer be in the same orientation it is in on the current conveyor. If the angle is greater than this number then the load will be rotated by 90 degrees. Set this to 180 to prevent loads rotating from their current orientation. The default is 80 degrees.
Public propertySimulationTransferSizeIn Linear Physics, if not zero, this value overrides the width of the outgoing conveyor for the transfer zone size.
Public propertySnapDistanceDistance at which AutoConnect (if set to True) will come into effect.
Public propertySnapStyleDefines the manner in which objects snap to each other when connecting.
Public propertyStartLocation of start extent of the connector. The distance from Start to End defines the connector's width.
Public propertyTextHeightHeight of the text label on the connector.
Public propertyTransferDirectionUsed by the Transfer protocol (as implemented in many QuickStart components) to define in which direction this connector allows transfers to take place. A value of "In" means that the component receive loads on this connector. A value of "Out" means that the component will deliver loads on this connector. A value of "InOut" means the component will receive and deliver loads on this component. A value of "None" means that the component will neither receive nor deliver loads on this connector. For example, "Start" connectors usually have this property set to "In"; "End" connectors usually have it set to "Out"; "Left" and "Right" connectors might have it set to "InOut"; connectors that are used for snapping end-effectors (for example) would have it set to "None", since they are not used for transferring loads. The component will consider the TransferDirection of the partner connector to find the effective TransferDirection; for example, if this connector is set to "In", then the other connector must be set to "Out" or "InOut" for a transfer to be possible.
Public propertyTypeOptional type value that allows the connector to be identified in the Allowed and Disallowed properties of other connectors
Public propertyWorldCenter Get the center of the connector in world coordinates
Public propertyWorldEnd Get the end of the connector in world coordinates.
Public propertyWorldMatrix 
Public propertyWorldNormal The world normal of the connector.
Public propertyWorldStart Get the start of the connector in world coordinates.
Top
Methods
 NameDescription
Public methodAlignConnectors Align the parent of this connector to be in line with the connector it is connected to. Modify the transform of the parent of this connector to align to the Normal of the ConnectedTo connector. This doesn't do a centerSnap on the connectors and the alignment algorithm is Alignment.Closest.
Public methodAlignConnectors(ConnectorAlignment) Align the parent of this connector to be in line with the connector it is connected to. Modify the transform of the parent of this connector to align to the Normal of the ConnectedTo connector. This doesn't do a centerSnap on the connectors.
Public methodAlignConnectors(ConnectorAlignment, Boolean) Align the parent of this connector to be in line with the connector it is connected to. Modify the transform of the parent of this connector to align to the Normal of the ConnectedTo connector.
Public methodAngularDistanceFrom Find distance between the world normals as the difference between their world-Y rotations, snapped to 5 degree increments
Public methodCanConnectTo Indicate if the two Connectors may actually be connected. This allows connectors for different purposes. The GUI may use this to provide visual feedback when the user drags an object near to another object.
Public methodStatic memberClosest Find the closest connectors between two IConnectable objects (normally Visuals).
Public methodStatic memberConnect(IConnectable, String, IConnectable, String, ConnectorAlignment, Boolean) Connect two named connectors together with parameters determining whether and how the connectables (Visuals) should move when aligned.
Public methodStatic memberConnect(IConnectable, String, IConnectable, String, Boolean, Boolean) Connect two named connectors together with parameters determining whether and how the connectables (Visuals) should move when aligned.
Public methodStatic memberConnect(IConnectable, String, IConnectable, String, ConnectorAlignment, Boolean, Boolean) Connect two named connectors together with parameters determining whether and how the connectables (Visuals) should move when aligned.
Public methodStatic memberConnect(IConnectable, String, IConnectable, String, Boolean, Boolean, Boolean) Connect two named connectors together with parameters determining whether and how the connectables (Visuals) should move when aligned.
Public methodConnectTo(Connector, ConnectorAlignment) Connect this and another connector together.
Public methodConnectTo(Connector, Boolean) Connect two objects together. The method must take care of the placement and orientation of the respective visual objects.
Public methodConnectTo(Connector, Boolean, Boolean) Connect two objects together. The method must take care of the placement and orientation of the respective visual objects.
Public methodConnectTo(Connector, ConnectorAlignment, Boolean, Boolean) Connect this and another connector together.
Public methodConnectTo(Connector, Boolean, Boolean, Boolean) Connect two objects together. The method must take care of the placement and orientation of the respective visual objects.
Public methodConnectTo(Connector, ConnectorAlignment, Boolean, Boolean, Action) Connect this and another connector together (Only usable from C# scripting, not JScript).
Public methodCreateManagedAspectT 
Public methodStatic memberDisconnect Disconnect a named connector.
Public methodDisconnectAll Disconnect all connectors
Public methodDisconnectFrom Disconnect two objects from each other. The orientation is left the same after disconnection.
Public methodDisposeReleases all resources used by the Connector
Public methodDistanceFrom Calculates the distance of the centers of this connector to the extents (start->end) of another connector.
Public methodFindAspectsT 
Public methodFindManagedAspectsT 
Public methodIsConnectedTo(Connector) Is this connector connected to the other connector.
Public methodIsConnectedTo(Visual) Is this connector connected to the other visual via one of its connectors.
Public methodObjectToWorldMatrix 
Public methodToString Connected "name:visual" string.
(Overrides ObjectToString)
Public methodToVisualLocation The center of the connector as a VisualLocation.
Public methodWorldToObjectMatrix 
Top
Events
 NameDescription
Public eventAfterDisconnectedListeners Called just after this connector is disconnected from.
Public eventConnectedListeners Called when this connector is connected to.
Public eventDisconnectedListeners Called just before this connector is disconnected from.
Public eventDisposed 
Top
Fields
See Also