All Frameworks  Class Hierarchy  This Framework  Next  Indexes

TopologicalOperators Class CATBodyChecker

Mathematics.CATCGMVirtual
  |
  +---GeometricObjects.CATCGMOperator
    |
    +---NewTopologicalObjects.CATTopOperator
      |
      +---CATBodyChecker
 

Usage: you must use this class as is. You should never derive it.


public class CATBodyChecker

Class defining the operator to check a given body.

CATBodyChecker follows the global frame of the topological operators.


Method Index


o BeginningDiagnosis()
Initializes the iterator of the resulting diagnosis.
o Check(CATGeoFactory*,CATBody*,CATLONG32&,ostream&,CATBoolean&)
Checks a given body.
o Create(CATGeoFactory*,CATTopData*,CATBody*)
Constructs an operator that checks a body.
o Dump(ostream&)
Gets all the diagnoses of this operator results after run.
o GetCheckMode(CATBodyChecker::CheckMode&)
Gets the active check mode of the operator.
o GetDiagnosis(CATUnicodeString&)
Gets the current diagnosis of this operator results.
o GetNbDiagnoses()
Gets the number of diagnoses found after the operator run.
o NextDiagnosis()
Skips to the next diagnosis of this operator results, if any.
o Remove(CATBodyChecker*&)
Removes an operator from memory after use.
o Run()
Runs this operator.
o SetCheckCells(CATLISTP(CATCell)&)
Sets the check cells for the operator.
o SetCheckMode(CATBodyChecker::CheckMode&)
Sets the new active check mode of the operator.
o SetCheckRules(CATListOfInt*&)
Sets the check rules for the operator.
o Type()
Type of this operator.

Enumerated Type Index


o CheckMode
enum CATBodyChecker::CheckMode
Defines Check Mode for the body check operation.
o CheckRuleID
enum CATBodyChecker::CheckRuleID
Defines Check Rules for the body check operation.

Methods


o BeginningDiagnosis
public virtual void BeginningDiagnosis()= 0
Initializes the iterator of the resulting diagnosis.
By default, the initialization is performed once the operator runs, and this is therefore only used to read the diagnosis again.
o Check
public static CATBoolean Check(CATGeoFactory* ipFactory,
CATBody* ipBodyToCheck,
CATLONG32& ioNumberOfSevereAnomalies,
ostream& ioDetailsOfAnomalies,
const CATBoolean& ibFullCheck= FALSE)
Checks a given body.
The body to check can contain several domains. All the cells of relevant type from all domains will be checked for the active body checker rules.
Parameters:
ipFactory
The pointer to the factory of the body to check.
ipBodyToCheck
The pointer to the body to check. It can contain several domains. In this case, the operator processes all the cells from all the domains.
ioNumberOfSevereAnomalies
Total number of severe anomalies found during check operation.
ioDetailsOfAnomalies
The details of severe anomalies found during check operation.
ibFullCheck
CATBoolean(0) indicates that body check operator would run in "Light" check mode.
CATBoolean(1) indicates that body check operator would run in "Full" check mode.
Returns:
The result of the check operation.
Legal values: TRUE if no errors were found, FALSE otherwise.
o Create
public static CATBodyChecker* Create(CATGeoFactory* ipFactory,
CATTopData* ipData,
CATBody* ipBodyToCheck)
Constructs an operator that checks a body.
The body to check can contain several domains. All the cells of relevant type from all domains will be checked for the active body checker rules.
Parameters:
ipFactory
The pointer to the factory of the body to check.
ipData
The pointer to the data defining the software configuration and the journal. If the journal inside ipData is NULL, it is not filled.
ipBodyToCheck
The pointer to the body to check. It can contain several domains. In this case, the operator processes all the cells from all the domains.
Returns:
The pointer to the created operator. To remove the operator from memory, use Remove method after use.
o Dump
public virtual void Dump(ostream& ioOutput) const = 0
Gets all the diagnoses of this operator results after run.
Parameters:
ioOutput
The details of severe anomalies found during check operation.
o GetCheckMode
public virtual CATBoolean GetCheckMode(CATBodyChecker::CheckMode& oCheckMode) = 0
Gets the active check mode of the operator.
Note that the default check mode of the operator is Light mode.
Parameters:
oCheckMode
The active check mode of the operator.
Returns:
The result of the operation.
Legal values: TRUE if succeeded, FALSE otherwise.
o GetDiagnosis
public virtual CATBoolean GetDiagnosis(CATUnicodeString& oDiagnosisString) const = 0
Gets the current diagnosis of this operator results.
Parameters:
oDiagnosisString
The reference to the string to be filled out with diagnosis details.
Returns:
The result of the operation.
Legal values: TRUE if succeeded, FALSE otherwise.
o GetNbDiagnoses
public virtual CATLONG32 GetNbDiagnoses()const = 0
Gets the number of diagnoses found after the operator run.
Returns:

The count of diagnoses found.
o NextDiagnosis
public virtual CATBoolean NextDiagnosis()= 0
Skips to the next diagnosis of this operator results, if any.
After BeginningDiagnosis, it skips to the first diagnosis.
Returns:
The existence of the next diagnosis.
Legal values:
TRUE
if there is a diagnosis
FALSE
if no more diagnosis.
o Remove
public static CATBoolean Remove(CATBodyChecker*& ipBodyChecker)
Removes an operator from memory after use.
Parameters:
ipBodyChecker
The pointer to the operator to remove from memory.
Returns:
The result of the operator removal.
Legal values: TRUE if removed successfully, FALSE otherwise.
o Run
public virtual int Run()= 0
Runs this operator.
Returns:

Legal values: 1 if ok, 0 if failed.
o SetCheckCells
public virtual CATBoolean SetCheckCells(CATLISTP(CATCell)& ilsCheckCells) = 0
Sets the check cells for the operator.
Use this method to restrict the check operation to certain cells of interest.
Parameters:
ilsCheckCells
The list of cells to be used for check (a subset from ipBodyToCheck, i.e. body being checked).
Returns:
The result of the operation.
Legal values: TRUE if succeeded, FALSE otherwise.
o SetCheckMode
public virtual CATBoolean SetCheckMode( const CATBodyChecker::CheckMode& iCheckMode) = 0
Sets the new active check mode of the operator.
Note that the default check mode of the operator is Light mode.
Parameters:
iCheckMode
The new active check mode of the operator to be set.
Returns:
The result of the operation.
Legal values: TRUE if succeeded, FALSE otherwise.
o SetCheckRules
public virtual CATBoolean SetCheckRules(CATListOfInt*& iplsCheckRuleIDs) = 0
Sets the check rules for the operator.
Use this method to restrict the check operation to certain rules of interest.
One can use this method and then set the check mode to CATBodyChecker::BodyChkModeLightPlus, in which case, the operator checks for rules set by this method in addition to Light rules.
Parameters:
iplsCheckRuleIDs
The list of check rule IDs of type CATBodyChecker::CheckRuleID to be checked.
Returns:
The result of the operation.
Legal values: TRUE if succeeded, FALSE otherwise.
o Type
public virtual int Type()const = 0
Type of this operator.
Returns:

Legal values: >1.

Enumerated Types


o CheckMode
enum CheckMode {
  BodyChkModeLight,
  BodyChkModeFull,
  BodyChkModeUser,
  BodyChkModeLightPlus
}
enum CATBodyChecker::CheckMode
Defines Check Mode for the body check operation.
Parameters:
BodyChkModeLight

This is the default check mode for the operator, unless set by SetCheckMode method.
With this mode, all the Light rules would be checked during operator run.
BodyChkModeFull

With this mode, all the published rules (i.e. Light + Full) would be checked during operator run.
BodyChkModeUser

This mode comes into effect when one uses SetCheckRules method.
With this mode, only the Set rules (set by SetCheckRules) would be checked during operator run.
BodyChkModeLightPlus

Use this mode if one wishes to check additional rules (in addition to Light rules).
For using this, first set addition rules to check by using SetCheckRules method, and then set the operator check mode using SetCheckMode method to BodyChkModeLightPlus.
o CheckRuleID
enum CheckRuleID {
  BodyChkRuleUndefined,
  BodyChkRuleCurvatureCurve,
  BodyChkRuleCurvatureSurface,
  BodyChkRuleSelfIntersectionShell,
  BodyChkRuleSelfIntersectionWire,
  BodyChkRuleTopologicalEdgeLength
}
enum CATBodyChecker::CheckRuleID
Defines Check Rules for the body check operation.
Parameters:
BodyChkRuleUndefined

Not to be used.
BodyChkRuleCurvatureCurve

This rule is active in Light check mode.
With this rule, all the curves present in the input body (unless SetCheckCells is used) would be checked for following rule:
The "evaluated" minimum curvature radius for a curve MUST BE GREATER THAN "allowed" minimum curvature radius.
Here, "allowed" minimum curvature radius is µ (i.e. 1 micron).
BodyChkRuleCurvatureSurface

This rule is active in Full check mode.
With this rule, all the surfaces present in the input body (unless SetCheckCells is used) would be checked for following rule:
The "evaluated" minimum curvature radius for a surface MUST BE GREATER THAN "allowed" minimum curvature radius.
Here, "allowed" minimum curvature radius is µ (i.e. 1 micron).

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

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