All Frameworks Class Hierarchy This Framework Previous Next Indexes
MecModInterfaces Interface CATIMfIntersectionEdge
System.IUnknown
|
+---System.IDispatch
|
+---System.CATBaseUnknown
|
+---CATIMfIntersectionEdge
Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.
interface CATIMfIntersectionEdge
Interface for Intersection Edges BRep features.
Role:This interface allows to manage BRep features defined by edges produced by
the intersection of two lists of features.
The information stored by an Intersection Edge consists in
- two lists of features to operate (called FirstOperands and SecondOperands),
- a resolution mode (called CATMfResolutionMode),
- in some cases, one applicative feature.
- in some cases, the initial edge.
There are two ways to create an intersection edge:
- With CATIFeaturize.FeaturizeR applied to a
CATIREdge or to another
CATIMfIntersectionEdge(if you want to duplicate it).
Then, in first step, only one feature is put in the FirstOperands list
(either a boolean operation feature or another geometrical feature), and resolution mode is
set to MfResolutionMode_GeneratedEdges.Thus, at creation, the feature is seen as
the lists of edges created when intersecting the operands of
this FirstOperands feature if this is a boolean operation, or when intersecting
this FirstOperands feature itself with its input.
- With
CATIMfBRepFactory.CreateMfIntersectionEdge which can have a
CATIREdge as input, or not( and in this last case, the intersection edge is empty and must be filled with appropriate methods)
In both cases you must use at least the right featurization mode:
MfFeaturizeIntersection for a standard intersection edge.
MfFeaturizeC1Intersection for a C1 intersection edge
MfFeaturizeC1Intersection|MfFeaturizeSubElement for a not propaged intersection edge
The definition of an intersection edge can be modified using the methods of the interface
to add features in the lists or to change the resolution mode.
For instance, if needed, the application may change the resolution mode to
MfResolutionMode_ListAgainstCurrent mode and set the SecondOperands list.
Please refer to the technical article dealing with the intersection edge in the CAA Encyclopedia for further details.
Method Index
- o
GetEdgeInit(CATIMfBRep_var&)
- Retrieves the initial edge.
- o
GetEdgesAllInit(int,CATLISTV(CATISpecObject_var)&)
- Retrieves the initial edges for functional tangent intersection edge.
- o
GetEdgesOriented(CATLISTP(CATCell)&,CATListOfInt&,CATISpecObject_var&)
- Returns the oriented topological edges associated with the BRep Feature.
- o
GetFirstOperands(CATLISTV(CATISpecObject_var)&)
- Reads the list of first operands.
- o
GetIntersectionEdgeType(CATIMfIntersectionEdge::CATMfIntersectionEdgeType&)
- Retrieves the intersection edge type.
- o
GetResolveMode(CATMfResolutionMode&,CATISpecObject_var&)
- Returns the way to compute the result edges.
- o
GetSecondOperands(CATLISTV(CATISpecObject_var)&)
- Reads the list of second operands.
- o
GetTangentPropagationMode(CATMfTangentPropagationMode&)
- Returns the value of the tangent propagation mode.
- o
IsSameResult(CATIMfIntersectionEdge_var&,CATISpecObject_var&)
- Checks if two intersection edges give the same result.
- o
SetFirstOperands(CATLISTV(CATISpecObject_var)&)
- Sets the list of first operands.
- o
SetResolveMode(CATMfResolutionMode,CATISpecObject_var&)
- Sets the value of the resolution mode.
- o
SetSecondOperands(CATLISTV(CATISpecObject_var)&)
- Sets the list of second operands.
- o
SetTangentPropagationMode(CATMfTangentPropagationMode)
- Sets the value of the tangent propagation mode.
Enumerated Type Index
- o
CATMfIntersectionEdgeType
- The type to compute the result edges.
- o
CATMfResolutionMode
- The way to compute the result edges.
- o
CATMfTangentPropagationMode
- Mode used to define the tangent propagation mode.
Methods
o GetEdgeInit
public virtual HRESULT GetEdgeInit( | CATIMfBRep_var& | oStartEdge)const = 0 |
-
Retrieves the initial edge.
- Parameters:
-
- oStartEdge
-
- This BRep Feature exists for types: TgtIntersEdge, TgtEdge, NotPropagEdge
- but is NULL_var for standard IntersectionEdge, as then it has no meaning.
- Returns:
- The error code.
Legal values:
- S_OK: The edge is retrieved (could be NULL_var)
- E_FAIL: Error occured.
o GetEdgesAllInit
-
Retrieves the initial edges for functional tangent intersection edge.
These BRep Feature exists for types: TgtFunctionalEdge.
- Parameters:
-
- iEdgesSecoursOnly
- To take into account the main initial edge or not (the main can be retrieved by GetEdgeInit method.
- 0 : to get all init, including the main one, which is always in first position
- 1 : to get only the secondary init. These ones are computed once at the creation by tangent propagation
from the main init.
- oListEdgesAllInit
- The list of initial edges which are CATIMfBRep_var.
- Returns:
- The error code.
Legal values:
- S_OK: The edges are retrieved (could be NULL_var)
- E_FAIL: Error occured.
o GetEdgesOriented
-
Returns the oriented topological edges associated with the BRep Feature.
- Parameters:
-
- oListCellEdges
- List of topological edges, which are CATEdge
- oListOrientations
- List of orientations, associated which each edge. Values should be +1 or -1
Notice that both lists are emptied at the beginning of this method.
- iFeat
- Defines the body of the search, e.g. the feature of resolution.
If NULL_var (default value), current feature is taken into account
- Returns:
- The error code.
Legal values:
- S_OK: The full lists are retrieved (could be empty)
- E_FAIL: The lists cannot be computed.
o GetFirstOperands
-
Reads the list of first operands.
- Parameters:
-
- oFirstOperands
- The list of features stored as FirstOperand features list.
The output list is not emptied when entering in the method. If the application reuses a previous
list, it should remove the elements inside before calling the method if necessary.
- Returns:
- The error code.
Legal values:
- S_OK: The list is retrieved
- E_FAIL: The list could not be accessed.
o GetIntersectionEdgeType
public virtual HRESULT GetIntersectionEdgeType( | CATIMfIntersectionEdge::CATMfIntersectionEdgeType& | oType)const = 0 |
-
Retrieves the intersection edge type.
- Parameters:
-
- oType
- The effective type of the intersection edge BRep Feature.
- Returns:
- The error code.
Legal values:
- S_OK: The type is retrieved
- E_FAIL: Error occured.
o GetResolveMode
public virtual HRESULT GetResolveMode( | CATMfResolutionMode& | oMode, |
| CATISpecObject_var& | oApplicativeResolveOperator)= 0 |
-
Returns the way to compute the result edges.
- Parameters:
-
- oMode
- The resolution mode.
- oApplicativeResolveOperator
- The feature implementing the
CATIMfIntersectApplicativeResolution interface, to overload resolution. By this mean, the application may define how to compute
the result edges of the intersection edge in his own way.
This feature is NULL_var for other
CATMfResolutionMode values than MfResolutionMode_Application.
- Returns:
- The error code.
Legal values:
- S_OK: The value is retrieved
- E_FAIL: The value could not be accessed.
o GetSecondOperands
-
Reads the list of second operands.
- Parameters:
-
- oSecondOperands
- The list of features stored as SecondOperands features list.
The output list is not emptied when entering in the method. If the application reuses a previous
list, it should remove the elements inside before calling the method if necessary.
- Returns:
- The error code.
Legal values:
- S_OK: The list is retrieved
- E_FAIL: The list could not be accessed.
o GetTangentPropagationMode
public virtual HRESULT GetTangentPropagationMode( | CATMfTangentPropagationMode& | oTgtMode)= 0 |
-
Returns the value of the tangent propagation mode.
- Parameters:
-
- oTgtMode
- The tangent propagation mode.
- Returns:
- The error code.
Legal values:
- S_OK: The mode is retrieved
- E_FAIL: The mode could not be accessed.
o IsSameResult
public virtual int IsSameResult( | const CATIMfIntersectionEdge_var& | iOtherIntersEdge, |
| const CATISpecObject_var& | iFeat | = NULL_var )const = 0 |
-
Checks if two intersection edges give the same result.
Role: Unlike
CATIMfBRep.IsSame , this method will compare the results of two intersection edge, topology and geometry.
- Parameters:
-
- iOtherIntersEdge
- The other intersection edge to compare
- iFeat
- Defines the body of the search, e.g. the feature of resolution.
If NULL_var (default value), current feature is taken into account
- Returns:
-
- +1 : the BRep Feature give same result as iOtherIntersEdge, (even if they could differ by specification)
- -1 : the BRep Feature give same result as iOtherIntersEdge, but orientations are inverted
- 0 : results are differents
o SetFirstOperands
-
Sets the list of first operands.
- Parameters:
-
- iFirstOperands
- The list of features to be stored as FirstOperand features list.
- Returns:
- The error code.
Legal values:
- S_OK: The list has been stored.
- ERROR_BAD_ARGUMENTS: The list contains more than one feature and the resolution mode is
equal to MfResolutionMode_GeneratedEdges.
- E_FAIL: the list is not empty but no feature in the list is a valid CATISpecObject.
o SetResolveMode
public virtual HRESULT SetResolveMode( | CATMfResolutionMode | iMode, |
| CATISpecObject_var& | iApplicativeResolveOperator)= 0 |
-
Sets the value of the resolution mode.
- Parameters:
-
- iMode
- The resolution mode.
- iApplicativeResolveOperator
- The feature that implements the
CATIMfIntersectApplicativeResolution interface, to overload resolution. Allowed only when iMode is equal to MfResolutionMode_Application.
This feature is ignored and not stored for other
CATMfResolutionMode values.
- Returns:
- The error code.
Legal values:
- S_OK: The mode has been stored.
- ERROR_BAD_ARGUMENTS: iMode is equal to MfResolutionMode_Application and
iApplicativeResolveOperator does not implement CATIMfIntersectApplicativeResolution.
- ERROR_BAD_ARGUMENTS: iMode is equal to MfResolutionMode_GeneratedEdges and
FirstOperand list contains more than one feature.
o SetSecondOperands
-
Sets the list of second operands.
- Parameters:
-
- iSecondOperands
- The list of features to be stored as SecondOperands features list.
In case the second operands list is set although this is not consistent with
the resolution mode, an error will be raised when resolving the result edges.
- Returns:
- The error code.
Legal values:
- S_OK: The list has been stored.
- E_FAIL: List could not be read properly
o SetTangentPropagationMode
public virtual HRESULT SetTangentPropagationMode( | CATMfTangentPropagationMode | iTgtMode)= 0 |
-
Sets the value of the tangent propagation mode.
- Parameters:
-
- iTgtMode
- The tangent propagation mode.
The error code.
Legal values:
- S_OK: The mode has been stored.
- E_FAIL: The mode could not be set properly
Enumerated Types
o CATMfIntersectionEdgeType
-
enum CATMfIntersectionEdgeType {
Type_IntersectionEdge,
Type_TgtIntersEdge,
Type_TgtEdge,
Type_NotPropagEdge,
Type_TgtFunctionalFEdge,
Type_TgtFunctionalREdge
}
The type to compute the result edges.
- Parameters:
-
- Type_IntersectionEdge
- corresponds to nothing special; this value may be also called as standard (all edges within intersection edge are computed).
It is created with CATMfFeaturizeMode MfFeaturizeIntersection
- Type_TgtIntersEdge
- corresponds to C1 continuity propagation (edges computed depend of initial edge).
It is created with CATMfFeaturizeMode MfFeaturizeC1Intersection
- Type_TgtEdge
- corresponds to C1 continuity propagation but the initial edge cannot be built within an intersection edge (there is no semantic characteristic).
It is created with CATMfFeaturizeMode MfFeaturizeC1Intersection
- Type_NotPropagEdge
- corresponds to only edge selection, without propagation, but this edge is built within an intersection edge (semantic characteristic is kept)
It is created with CATMfFeaturizeMode MfFeaturizeC1Intersection|MfFeaturizeSubElement
- Type_TgtFunctionalFEdge
- corresponds to C1 continuity propagation of initial edge at the creation only, inside the initial feature of this edge. It has fonctional mode, see
CATIMfBRep.GetBRepType.
It is created with CATMfFeaturizeMode MfFeaturizeFunctionalC1Intersection|MfFunctionalFeaturization
- Type_TgtFunctionalREdge
- corresponds to C1 continuity propagation of initial edge at the creation only, inside the initial feature of this edge. It has relimited mode, see
CATIMfBRep.GetBRepType.
It is created with CATMfFeaturizeMode MfFeaturizeFunctionalC1Intersection|MfRelimitedFeaturization
or CATMfFeaturizeMode MfFeaturizeFunctionalC1Intersection|MfRelimitedFeaturization
o CATMfResolutionMode
-
enum CATMfResolutionMode {
MfResolutionMode_GeneratedEdges,
MfResolutionMode_ListAgainstList,
MfResolutionMode_ListAgainstCurrent,
MfResolutionMode_FreeEdges,
MfResolutionMode_Application
}
The way to compute the result edges.
- Parameters:
-
- MfResolutionMode_GeneratedEdges
- is used when the need is to retrieve cells generated when operating the feature in FirstOperands against its input context.
Only one feature is then allowed within FirstOperands list. SecondOperands
list must be empty.
- MfResolutionMode_ListAgainstList
- is used when the need is to retrieve cells that have one adjacent face issued from a feature in FirstOperand list, and the other face issued from a feature
in SecondOperands list.
- MfResolutionMode_ListAgainstCurrent
- is used when the need is to retrieve cells that have one adjacent face issued from a feature in FirstOperands list, and the other face issued from the global context.
- MfResolutionMode_FreeEdges
- is used when the need is to retrieve cells that have both adjacent faces issued from features in FirstOperands list.
SecondOperands list must be empty.
- MfResolutionMode_Application
- is available to add applicative resolution modes. In this mode, the resolution of the intersection edge is delegated to the application.
The application has to provide a solving method using the
CATIMfIntersectApplicativeResolution interface. A feature implementing this interface is provided in the
SetResolveMode method.
o CATMfTangentPropagationMode
-
enum CATMfTangentPropagationMode {
MfTangentPropagationMode_Standard,
MfTangentPropagationMode_Fillet
}
Mode used to define the tangent propagation mode.
Role:The type to compute the tangent propagation (only for
CATMfFeaturizeMode MfFeaturizeC1Intersection) which allow to compute propagated edges
- Parameters:
-
- MfTangentPropagationMode_Standard
- corresponds to standard propagation (similar to extract operator) and is the default value
- MfTangentPropagationMode_Fillet
- corresponds to fillet tangency propagation (mandatory for fillet features)
This object is included in the file: CATIMfIntersectionEdge.h
If needed, your Imakefile.mk should include the module: CATMecModInterfaces