All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

CATSchPlatformInterfaces Interface CATISchCompatible

System.IUnknown
  |
  +---CATISchCompatible
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATISchCompatible

Interface to query for compatible object to connect to.
Role: Defines connection rules for Schematic basic set of objects.


Method Index


o GetBestCntrForRoute(double[2],CATISchGRR*,CATIUnknownList*,double*,CATISchAppConnector**)
Find the best-fit connector to be used to connect a route to.
o GetBestFitInsertInfo(double[2],IUnknown*,IUnknown**,CATBoolean)
Find the best-fit connector(s) to be used for inserting a component into a route.
o GetBestFitPlaceInfo(double[2],IUnknown*,IUnknown**,CATBoolean)
Find the best-fit connector(s) to be used for placing a component and connecting it to another.
o IsTargetOKForInsert(IUnknown*,IUnknown**,CATBoolean*)
Query whether an object is compatible to be inserted into a route.
o IsTargetOKForPlace(CATISchGRRComp*,IUnknown*,IUnknown**,CATBoolean*)
Query whether an object is compatible to be connected to another component.
o IsTargetOKForRoute(char*,CATISchGRR*,CATIUnknownList**,CATBoolean*)
Query whether an object is compatible to be connected to a route.

Methods


o GetBestCntrForRoute
public virtual HRESULT GetBestCntrForRoute( const double[2] iDb2PlacementPt,
CATISchGRR* iGRR,
CATIUnknownList* iLOKCntrs,
double* oDb2CntrPt,
CATISchAppConnector** oBestCntr) = 0
Find the best-fit connector to be used to connect a route to.
Parameters:
iDb2PlacementPt
X-Y coordinates of the target (component or route) graphic selection point.
iGRR
Pointer to the graphical image of a component or to the primitive of a route
iLOKCntrs
A list of compatible and available connectors on the component. Members are CATISchAppConnector interface pointers. This is an Output of IsTargetOKForRoute
See also:
IsTargetOKForRoute
oDb2CntrPt
X-Y coordinates of the best-fit connector point.
oBestCntr
Best-fit connector
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed
o GetBestFitInsertInfo
public virtual HRESULT GetBestFitInsertInfo( const double[2] iDb2PlacementPt,
IUnknown* iInsertCompatInfo,
IUnknown** ioInsertInfo,
CATBoolean iBYesCycleAllSolns= FALSE) = 0
Find the best-fit connector(s) to be used for inserting a component into a route.
Parameters:
iDb2PlacementPt
X-Y coordinates of the target component graphical selection point.
iInsertCompatInfo
Pointer to an internal class which contains structured information This is an output of IsTargetOKForInsert
See also:
IsTargetOKForInsert
ioInsertInfo
Pointer to an internal class which contains structured information for how to inesrt a component into a route. Caller must initialize this pointer to NULL when calling this code the first time. This is used as an input to CATISchComponent::InsertIntoRouteWithInfo
See also:
CATISchComponent.InsertIntoRouteWithInfo
iBYesCycleAllSolns
default is FALSE, and ioInsertInfo is an output for the best fit solution. When there are more than one internal flows that can be used for insertion, this routine will choose the best solution in the following order:
linear internal flow parallel to x-axis
linear internal flow parallel to y-axis
corner internal flow
others
If iBYesCycleAllSolns =TRUE, then the implementation will calculate all possible solutions and allow the caller to recall this code with the same ioInsertInfo. if and only if current input iDB2PlacementPt is the the same as the previous one . Otherwise, the insertion position of the component on the route is different and the previously calculated solutions are all invalid for the current call. If the iDB2PlacementPt is the same as the previous one and iBYesCycleAllSolns is TRUE, this code will set the internal data ioInsertInfo accordingly, so that when used in InsertIntoRouteWithInfo, the next solution will be used. For example, say there are 3 possible solutions and we call them solution1, solution2 and solution3. Call this code the first time and InsertIntoComponentWithInfo will use solution1. Call this code the second time (provided that CntrTgt remains the same) and solution2 will be used. The third time, solution3. The fourth time, solution1 and so one.
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed
o GetBestFitPlaceInfo
public virtual HRESULT GetBestFitPlaceInfo( const double[2] iDb2PlacementPt,
IUnknown* iPlaceCompatInfo,
IUnknown** ioPlaceInfo,
CATBoolean iBYesCycleAllSolns= FALSE) = 0
Find the best-fit connector(s) to be used for placing a component and connecting it to another.
Parameters:
iDb2PlacementPt
X-Y coordinates of the target component graphical selection point.
iPlaceCompatInfo
Pointer to an internal class which contains structured information This is an output of IsTargetOKForPlace
See also:
IsTargetOKForPlace
ioPlaceInfo
Pointer to an internal class which contains structured information for how to place a component. Caller must initialize this pointer to NULL when calling this code the first time. This is used as an input to CATISchComponent::PlaceOnComponentWithInfo
See also:
CATISchComponent.PlaceOnComponentWithInfo
iBYesCycleAllSolns
default is FALSE, and ioPlaceInfo is an output for the best fit solution. This solution will connect the compatible Target connector closest to the iDb2PlacementPt (call this CntrTgt) and the source connector that is closest to the origin (in position relative to ditto axis). If iBYesCycleAllSolns =TRUE, then the implementation will calculate all possible solutions and allow the caller to recall this code with the same ioPlaceInfo, if and only if the compatible Target connector closest to the iDb2PlacementPt is the same as the previous one . By doing this, this code will set the internal data ioPlaceInfo accordingly, so that when used in PlaceOnComponentWithInfo, the next solution will be used. For example, say there are 3 possible solutions and we call them solution1, solution2 and solution3. Call this code the first time and PlaceOnComponentWithInfo will use solution1. Call this code the second time (provided that CntrTgt remains the same) and solution2 will be used. The third time, solution3. The fourth time, solution1 and so one.
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed
o IsTargetOKForInsert
public virtual HRESULT IsTargetOKForInsert( const IUnknown* iCompInfo,
IUnknown** oInsertCompatInfo,
CATBoolean* oBYes) = 0
Query whether an object is compatible to be inserted into a route. This method is used when placing a component.
Parameters:
iCompInfo
Pointer to an internal class which contains structured information of "this" component for placement. This is an output of CATISchComponent::QueryPlaceAbility
See also:
CATISchComponent.QueryPlaceAbility
oInsertCompatInfo
Pointer to an internal class which contains structured information for "this" component and target route (the one in question) This is used as an input to GetBestFitInsertInfo
See also:
GetBestFitInsertInfo
oBYes
If TRUE, the component is OK to be connected to a route.
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed
o IsTargetOKForPlace
public virtual HRESULT IsTargetOKForPlace(CATISchGRRComp* iGRRTarget,
const IUnknown* iCompInfo,
IUnknown** oPlaceCompatInfo,
CATBoolean* oBYes) = 0
Query whether an object is compatible to be connected to another component. This method is used when placing a component.
Parameters:
iGRRTarget
Pointer to the graphical image of the component in question (the target component to be connected to)
iCompInfo
Pointer to an internal class which contains structured information of "this" component for placement. This is an output of CATISchComponent::QueryPlaceAbility
See also:
CATISchComponent.QueryPlaceAbility
oPlaceCompatInfo
Pointer to an internal class which contains structured information for "this" component and target component (the one in question) This is used as an input to GetBestFitPlaceInfo
See also:
GetBestFitPlaceInfo
oBYes
If TRUE, the component is OK to be connected to a route.
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed
o IsTargetOKForRoute
public virtual HRESULT IsTargetOKForRoute( const char* iRouteCntrClassType,
CATISchGRR* iGRRTarget,
CATIUnknownList** oLOKCntrs,
CATBoolean* oBYes) = 0
Query whether an object is compatible to be connected to a route. This method is used when routing a route.
Parameters:
iRouteCntrClassType
Class type of a schematic route connector.
iGRRTarget
Pointer to the graphical image of a target component or to the primitive of a target route
oLOKCntrs
A list of compatible and available connectors on the component or route (members are CATISchAppConnector interface pointers) This is used as an input to GetBestCntrForRoute
See also:
GetBestCntrForRoute
oBYes
If TRUE, the component is OK to be connected to a route.
Returns:
An HRESULT value.
Legal values:
S_OK
operation is successful
E_FAIL
operation failed

This object is included in the file: CATISchCompatible.h

Copyright © 2003, Dassault Systèmes. All rights reserved.