CATMecModUseItf Interface 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 applied to a
or to another
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
which can have a
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
GetEdgesAllInit(int,CATListValCATIMmiMechanicalFeature_var&)
- Retrieves the initial edges for functional tangent intersection edge.
- o
GetFirstOperands(CATListValCATIMmiMechanicalFeature_var&)
- Reads the list of first operands.
- o
GetIntersectionEdgeInit(CATIMmiUseMfBRep_var&)
- Retrieves the initial edge.
- o
GetIntersectionEdgeType(CATIMfIntersectionEdge::CATMfIntersectionEdgeType&)
- Retrieves the intersection edge type.
- o
GetIntersectionEdgesOriented(CATLISTP(CATCell)&,CATListOfInt&,CATIMmiMechanicalFeature_var&)
- Returns the oriented topological edges associated with the BRep Feature.
- o
GetIntersectionResolveMode(CATMfResolutionMode&,CATBaseUnknown_var&)
- Returns the way to compute the result edges.
- o
GetSecondOperands(CATListValCATIMmiMechanicalFeature_var&)
- Reads the list of second operands.
- o
GetTangentPropagationMode(CATMfTangentPropagationMode&)
- Returns the value of the tangent propagation mode.
- o
IsIntersectionSameResult(CATIMfIntersectionEdge_var&,CATIMmiMechanicalFeature_var&)
- Checks if two intersection edges give the same result.
- o
SetFirstOperands(CATListValCATIMmiMechanicalFeature_var&)
- Sets the list of first operands.
- o
SetIntersectionResolveMode(CATMfResolutionMode,CATBaseUnknown_var&)
- Sets the value of the resolution mode.
- o
SetSecondOperands(CATListValCATIMmiMechanicalFeature_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 GetEdgesAllInit
public virtual GetEdgesAllInit( | | iEdgesSecoursOnly, |
| | oListEdgesAllInit) |
-
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 CATIMmiUseMfBRep_var.
- Returns:
- The error code.
Legal values:
- S_OK: The edges are retrieved (could be NULL_var)
- E_FAIL: Error occured.
o GetFirstOperands
public virtual GetFirstOperands( | | oFirstOperands) |
-
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 GetIntersectionEdgeInit
public virtual GetIntersectionEdgeInit( | | oStartEdge) |
-
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 GetIntersectionEdgeType
public virtual GetIntersectionEdgeType( | | oType) |
-
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 GetIntersectionEdgesOriented
public virtual GetIntersectionEdgesOriented( | | oListCellEdges, |
| | oListOrientations, |
| const | iFeat | = NULL_var ) |
-
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 GetIntersectionResolveMode
public virtual GetIntersectionResolveMode( | | oMode, |
| | oApplicativeResolveOperator) |
-
Returns the way to compute the result edges.
- Parameters:
-
- oMode
- The resolution mode.
- oApplicativeResolveOperator
- The feature implementing the
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
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
public virtual GetSecondOperands( | | oSecondOperands) |
-
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 GetTangentPropagationMode( | | oTgtMode) |
-
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 IsIntersectionSameResult
public virtual IsIntersectionSameResult( | const | iOtherIntersEdge, |
| const | iFeat | = NULL_var ) |
-
Checks if two intersection edges give the same result.
Role: 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
public virtual SetFirstOperands( | | iFirstOperands) |
-
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 CATIMmiMechanicalFeature.
o SetIntersectionResolveMode
public virtual SetIntersectionResolveMode( | | iMode, |
| | iApplicativeResolveOperator) |
-
Sets the value of the resolution mode.
- Parameters:
-
- iMode
- The resolution mode.
- iApplicativeResolveOperator
- The feature that implements the
interface, to overload resolution. Allowed only when iMode is equal to MfResolutionMode_Application.
This feature is ignored and not stored for other
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
public virtual SetSecondOperands( | | iSecondOperands) |
-
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 SetTangentPropagationMode( | | iTgtMode) |
-
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,
Type_DerTgtEdge,
Type_DerNotPropagEdge
}
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
.
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
.
It is created with CATMfFeaturizeMode MfFeaturizeFunctionalC1Intersection|MfRelimitedFeaturization
or CATMfFeaturizeMode MfFeaturizeFunctionalC1Intersection|MfRelimitedFeaturization
- Type_DerTgtEdge
- is a type created after an Isolate functionnality: a former TgtIntersEdge became not semantic, it is similar to TgtEdge but it keeps its own orientation as it was before transformation (Der is just a shorcut for Derived).
- Type_DerNotPropagEdge
- is analog to previous type, but it comes from NotPropagEdge.
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
interface. A feature implementing this interface is provided in the
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
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: CATMecModUseItf
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.