CATGSMUseItf Interface CATIGSMUseSplit

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


interface CATIGSMUseSplit

Interface to split feature.
Role: Allows you to access data of the Split feature created by using an element to cut (a curve or a surface), one or several cutting elements (points, curves or surfaces) and an orientation for each cutting element.

LICENSING INFORMATION: Creation of volume result requires GSO License
if GSO License is not granted , settting of Volume result has not effect

See also:
CATIGSMUseFactory.CreateSplit


Method Index


o AddCuttingElem(CATIMmiMechanicalFeature_var&,CATGSMOrientation)
Adds a cutting feature.
o AddElementToKeep(CATIMmiMechanicalFeature_var)
Adds an element to specifications.
o AddElementToRemove(CATIMmiMechanicalFeature_var)
Adds an element to specifications.
o GetAutomaticExtrapolationMode(CATBoolean&)
Queries whether automatic extrapolation mode is activated or not.
o GetBothSidesMode(CATBoolean&)
Queries whether both sides are computed or not.
o GetCuttingElem(CATIMmiMechanicalFeature_var&)
Gets the cutting feature (a point, a curve or a surface).
o GetCuttingElem(CATIMmiMechanicalFeature_var&,int)
Gets the cutting feature at a given index (a point, a curve or a surface).
o GetElemToCut(CATIMmiMechanicalFeature_var&)
Gets the feature to cut (a curve or a surface).
o GetIgnoreNoIntersectingMode(CATBoolean&)
Queries whether 'Ignore no intersecting elements' mode is activated or not.
o GetIntersection(CATIMmiMechanicalFeature_var&,int)
Gets the intersection at a given index.
o GetIntersectionComputation(CATBoolean&)
Queries whether intersection is computed or not.
o GetKeepHalfSpaceMode(CATBoolean&)
Queries whether 'Keep elements in half space' mode is activated or not.
o GetKeptElem(CATIMmiMechanicalFeature_var&,int)
Gets the kept feature at a given index.
o GetNbCuttingElem(int&)
Gets the number of cutting features.
o GetNbElementsToKeep(int&)
Gets the number of elements to keep.
o GetNbElementsToRemove(int&)
Gets the number of elements to remove.
o GetOrientation(CATGSMOrientation&)
Gets the orientation used to compute the split.
o GetOrientation(CATGSMOrientation&,int)
Gets Orientation used to compute the split.
o GetOtherSide(CATIMmiMechanicalFeature_var&)
Gets the other side.
o GetRemovedElem(CATIMmiMechanicalFeature_var&,int)
Gets the removed feature at a given index.
o GetSupportElem(CATIMmiMechanicalFeature_var&)
Gets the support of the curve to cut (optional).
o GetVolumeResult(CATBoolean&)
Gets the type of the geometrical result.
o InvertOrientation(int)
Inverts the orientation used to compute the split.
o RemoveCuttingElem(int)
Removes a cutting feature at a given index.
o RemoveCuttingElem(CATIMmiMechanicalFeature_var&)
Removes a cutting feature.
o RemoveElementToKeep(int)
Removes an element from specifications.
o RemoveElementToRemove(int)
Removes an element from specifications.
o SetAutomaticExtrapolationMode(CATBoolean)
Sets or unsets the automatic extrapolation mode.
o SetBothSidesMode(CATBoolean)
Sets or unsets the computation of both sides.
o SetCuttingElem(CATIMmiMechanicalFeature_var)
Sets the cutting feature (a point, a curve or a surface).
o SetCuttingElem(CATIMmiMechanicalFeature_var,int)
Modifies the cutting feature at a given index (a point, a curve or a surface).
o SetElemToCut(CATIMmiMechanicalFeature_var)
Sets the feature to cut (a curve or a surface).
o SetIgnoreNoIntersectingMode(CATBoolean)
Sets or unsets the 'Ignore no intersecting elements' mode.
o SetIntersectionComputation(CATBoolean)
Sets or unsets the computation of intersection.
o SetKeepHalfSpaceMode(CATBoolean)
Sets or unsets the 'Keep elements in half space' mode.
o SetOrientation(CATGSMOrientation)
Sets the orientation used to compute the split.
o SetOrientation(CATGSMOrientation,int)
Sets the orientation used to compute the split.
o SetSupportElem(CATIMmiMechanicalFeature_var)
Sets the support of the curve to cut (optional).
o SetVolumeResult(CATBoolean)
Sets the type of the geometrical result.

Methods


o AddCuttingElem
public virtual HRESULT AddCuttingElem(CATIMmiMechanicalFeature_var& iElem,
CATGSMOrientation iOrientation= CATGSMSameOrientation) = 0
Adds a cutting feature.
Parameters:
iElem
cutting feature
iOrientation
Orientation
o AddElementToKeep
public virtual HRESULT AddElementToKeep( const CATIMmiMechanicalFeature_var iElement) = 0
Adds an element to specifications. This element will be kept.
Parameters:
iElement
Element to keep.
o AddElementToRemove
public virtual HRESULT AddElementToRemove( const CATIMmiMechanicalFeature_var iElement) = 0
Adds an element to specifications. This element will be removed.
Parameters:
iElement
Element to remove.
o GetAutomaticExtrapolationMode
public virtual HRESULT GetAutomaticExtrapolationMode(CATBoolean& oMode) = 0
Queries whether automatic extrapolation mode is activated or not.
Parameters:
oMode
Extrapolation mode on (TRUE) or off (FALSE)
o GetBothSidesMode
public virtual HRESULT GetBothSidesMode(CATBoolean& oMode) = 0
Queries whether both sides are computed or not.
Parameters:
oMode
Computation option on (TRUE) or off (FALSE)
o GetCuttingElem
public virtual HRESULT GetCuttingElem(CATIMmiMechanicalFeature_var& oElem) = 0
Gets the cutting feature (a point, a curve or a surface).
Parameters:
oElem
cutting feature
o GetCuttingElem
public virtual HRESULT GetCuttingElem(CATIMmiMechanicalFeature_var& oElem,
int iRank) = 0
Gets the cutting feature at a given index (a point, a curve or a surface).
Parameters:
oElem
cutting feature
iRank
Index of one of the cutting features
o GetElemToCut
public virtual HRESULT GetElemToCut(CATIMmiMechanicalFeature_var& oElem) = 0
Gets the feature to cut (a curve or a surface).
Parameters:
oElem
feature to cut
o GetIgnoreNoIntersectingMode
public virtual HRESULT GetIgnoreNoIntersectingMode(CATBoolean& oMode) = 0
Queries whether 'Ignore no intersecting elements' mode is activated or not.
Parameters:
oMode
Mode on (TRUE) or off (FALSE)
o GetIntersection
public virtual HRESULT GetIntersection(CATIMmiMechanicalFeature_var& oElem,
const int iRank) = 0
Gets the intersection at a given index.
Parameters:
oElem
Intersection
iRank
Index of one of the intersection features
o GetIntersectionComputation
public virtual HRESULT GetIntersectionComputation(CATBoolean& oMode) = 0
Queries whether intersection is computed or not.
Parameters:
oMode
Computation option on (TRUE) or off (FALSE)
o GetKeepHalfSpaceMode
public virtual HRESULT GetKeepHalfSpaceMode(CATBoolean& oMode) = 0
Queries whether 'Keep elements in half space' mode is activated or not.
Parameters:
oMode
Mode on (TRUE) or off (FALSE)
o GetKeptElem
public virtual HRESULT GetKeptElem(CATIMmiMechanicalFeature_var& oElem,
const int iRank) = 0
Gets the kept feature at a given index.
Parameters:
oElem
Kept feature
iRank
Index of one of the kept features
o GetNbCuttingElem
public virtual HRESULT GetNbCuttingElem(int& oNbCuttingElem) = 0
Gets the number of cutting features.
Parameters:
oNbCuttingElem
Number of cutting features
o GetNbElementsToKeep
public virtual HRESULT GetNbElementsToKeep(int& oNbElementsToKeep) = 0
Gets the number of elements to keep.
Parameters:
oNbElementsToKeep
Number of elements to keep
o GetNbElementsToRemove
public virtual HRESULT GetNbElementsToRemove(int& oNbElementsToRemove) = 0
Gets the number of elements to remove.
Parameters:
oNbElementsToRemove
Number of elements to remove
o GetOrientation
public virtual HRESULT GetOrientation(CATGSMOrientation& oOrientation) = 0
Gets the orientation used to compute the split.
Orientation specifies kept parts of cut feature.

When splitting a surface by a surface :
- If CATGSMSameOrientation: Kept parts are specified by the "natural" normal to the cutting feature
- If CATGSMInvertOrientation: Kept parts are specified by the inverse of the "natural" normal to the cutting feature

When splitting a surface by a curve :
- If CATGSMSameOrientation: - If CATGSMInvertOrientation: Kept parts are specified by the inverse of the result of the cross product : normal(surface)^tangent(curve)

When splitting a curve by a point or a curve (without support specified):
- If CATGSMSameOrientation: Kept parts are from beginning of the curve to the first intersection,
and, if there is one, from the second to the third intersection and so on until the end of the curve...
- If CATGSMInvertOrientation: Kept parts are from the first intersection to the second (if there is one),
and, if there is one, from the third to the fourth and so on until the end of the curve...

When splitting a curve on support:
- If CATGSMSameOrientation: Kept parts are specified by the result of the cross product : normal(support surface)^tangent(cutting curve)
- If CATGSMInvertOrientation: Kept parts are specified by the inverse of the result of the cross product : normal(support surface)^tangent(cutting curve)

When splitting a curve by a surface:
- If CATGSMSameOrientation: Kept parts are specified by the inverse of the normal to the surface
- If CATGSMInvertOrientation: Kept parts are specified by the normal to the surface

Parameters:
oOrientation
Orientation used to compute the split (CATGSMSameOrientation or CATGSMInverseOrientation)
o GetOrientation
public virtual HRESULT GetOrientation(CATGSMOrientation& oOrientation,
int iRank) = 0
Gets Orientation used to compute the split.
Parameters:
oOrientation
Orientation
iRank
index of the cutting feature
o GetOtherSide
public virtual HRESULT GetOtherSide(CATIMmiMechanicalFeature_var& oElem) = 0
Gets the other side.
Parameters:
oElem
Other side
o GetRemovedElem
public virtual HRESULT GetRemovedElem(CATIMmiMechanicalFeature_var& oElem,
const int iRank) = 0
Gets the removed feature at a given index.
Parameters:
oElem
Removed feature
iRank
Index of one of the removed features
o GetSupportElem
public virtual HRESULT GetSupportElem(CATIMmiMechanicalFeature_var& oElem) = 0
Gets the support of the curve to cut (optional).
Parameters:
oElem
Support surface
o GetVolumeResult
public virtual HRESULT GetVolumeResult(CATBoolean& oResultType) = 0
Gets the type of the geometrical result.
Parameters:
oResultType
FALSE : Result type is surface TRUE : Result type is volume.(Option is effective only in case of volumes)
o InvertOrientation
public virtual HRESULT InvertOrientation(int iRank= 1) = 0
Inverts the orientation used to compute the split.
Parameters:
iRank
index of the cutting feature
o RemoveCuttingElem
public virtual HRESULT RemoveCuttingElem(int iRank) = 0
Removes a cutting feature at a given index.
Parameters:
iRank
index of the cutting feature
o RemoveCuttingElem
public virtual HRESULT RemoveCuttingElem(CATIMmiMechanicalFeature_var& iElem) = 0
Removes a cutting feature.
Parameters:
iElem
cutting feature
o RemoveElementToKeep
public virtual HRESULT RemoveElementToKeep( const int iRank) = 0
Removes an element from specifications.
Parameters:
iRank
Index of the kept element.
o RemoveElementToRemove
public virtual HRESULT RemoveElementToRemove( const int iRank) = 0
Removes an element from specifications.
Parameters:
iRank
Index of the removed element.
o SetAutomaticExtrapolationMode
public virtual HRESULT SetAutomaticExtrapolationMode(CATBoolean iMode) = 0
Sets or unsets the automatic extrapolation mode.
Parameters:
iMode
Extrapolation mode on (TRUE) or off (FALSE)
o SetBothSidesMode
public virtual HRESULT SetBothSidesMode(CATBoolean iMode) = 0
Sets or unsets the computation of both sides.
Parameters:
iMode
Computation option on (TRUE) or off (FALSE)
o SetCuttingElem
public virtual HRESULT SetCuttingElem( const CATIMmiMechanicalFeature_var iElem) = 0
Sets the cutting feature (a point, a curve or a surface).
Parameters:
iElem
new cutting feature
o SetCuttingElem
public virtual HRESULT SetCuttingElem( const CATIMmiMechanicalFeature_var iElem,
int iRank) = 0
Modifies the cutting feature at a given index (a point, a curve or a surface). Use AddCuttingElem method to specify a new cutting element
Parameters:
oElem
cutting feature
iRank
Index of one of the cutting features
o SetElemToCut
public virtual HRESULT SetElemToCut( const CATIMmiMechanicalFeature_var iElem) = 0
Sets the feature to cut (a curve or a surface).
Parameters:
iElem
new feature to cut
o SetIgnoreNoIntersectingMode
public virtual HRESULT SetIgnoreNoIntersectingMode(CATBoolean iMode) = 0
Sets or unsets the 'Ignore no intersecting elements' mode.
Parameters:
iMode
Mode on (TRUE) or off (FALSE)
o SetIntersectionComputation
public virtual HRESULT SetIntersectionComputation(CATBoolean iMode) = 0
Sets or unsets the computation of intersection.
Parameters:
iMode
Computation option on (TRUE) or off (FALSE)
o SetKeepHalfSpaceMode
public virtual HRESULT SetKeepHalfSpaceMode(CATBoolean iMode) = 0
Sets or unsets the 'Keep elements in half space' mode.
Parameters:
iMode
Mode on (TRUE) or off (FALSE)
o SetOrientation
public virtual HRESULT SetOrientation(CATGSMOrientation iOrientation) = 0
Sets the orientation used to compute the split.
Orientation specifies kept parts of cut feature.

When splitting a surface by a surface :
- If CATGSMSameOrientation: Kept parts are specified by the "natural" normal to the cutting feature
- If CATGSMInvertOrientation: Kept parts are specified by the inverse of the "natural" normal to the cutting feature

When splitting a surface by a curve :
- If CATGSMSameOrientation: Kept parts are specified by the result of the cross product : normal(surface)^tangent(curve)
- If CATGSMInvertOrientation: Kept parts are specified by the inverse of the result of the cross product : normal(surface)^tangent(curve)

When splitting a curve (without support specified):
- If CATGSMSameOrientation: Kept parts are from beginning of the curve to the first intersection,
and, if there is one, from the second to the third intersection and so on until the end of the curve...
- If CATGSMInvertOrientation: Kept parts are from the first intersection to the second (if there is one),
and, if there is one, from the third to the fourth and so on until the end of the curve...

When splitting a curve on support:
- If CATGSMSameOrientation: Kept parts are specified by the result of the cross product : normal(support surface)^tangent(cutting curve)
- If CATGSMInvertOrientation: Kept parts are specified by the inverse of the result of the cross product : normal(support surface)^tangent(cutting curve)

Parameters:
iOrientation
Orientation used to compute the split (CATGSMSameOrientation or CATGSMInverseOrientation)
o SetOrientation
public virtual HRESULT SetOrientation(CATGSMOrientation iOrientation,
int iRank) = 0
Sets the orientation used to compute the split.
Parameters:
iOrientation
Orientation
iRank
index of the cutting feature
o SetSupportElem
public virtual HRESULT SetSupportElem( const CATIMmiMechanicalFeature_var iElem) = 0
Sets the support of the curve to cut (optional).
Parameters:
iElem
Support surface
o SetVolumeResult
public virtual HRESULT SetVolumeResult( const CATBoolean iResultType) = 0
Sets the type of the geometrical result.
Parameters:
iResultType
FALSE : Result type is surface TRUE : Result type is volume.(Option is effective only in case of volumes, requires GSO License).

This object is included in the file: CATIGSMUseSplit.h
If needed, your Imakefile.mk should include the module: CATGSMUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.