C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Blackbox. More...
#include <gcm_blackbox.h>
Public Member Functions | |
virtual void | CollectMyInGeoms (IFC_Array< ItGeom > &) const =0 |
The function collects in the array independent geoms of a blackbox. | |
virtual void | CollectMyOutGeoms (IFC_Array< ItGeom > &) const =0 |
The function collects in the array dependent geoms of a blackbox. | |
virtual GCM_dependent_result | CalculateDependent (const std::vector< GeomPlace > &inGeomPlaces, GeomPlace &depPlace) const |
Calculate position of a dependent geometric object. More... | |
virtual bool | IsMyOutGeom (const ItGeom &) const =0 |
Check if the given geometric item is dependent. | |
virtual bool | FormulateOutGeom (MtGeomSolver &solver, ItGeomPtr outGeom) |
Formulate constraints for the dependent geometric object. More... | |
virtual void | FinishBlackBox () |
To finish work with the black box. More... | |
virtual bool | Calculate (const SArray< MbPlacement3D > &, const ItGeom &, MbPlacement3D &) const |
Calculate position of a dependent geometric object. More... | |
Blackbox.
Blackbox implements a law of positioning of geometric objects which are dependent on positions of other objects. Interface ItGCBlackbox is usually implemented on the side of application and it is transferred from the application to C3D Solver by method #MtGeomSolver::AddBlackbox. The blackbox abstraction can be used to organize patterns in assembly structures, when the elements of the pattern are copies (instancies) of the same part (sample) replicated according to a geometric law specified by the application.
|
inlinevirtual |
Calculate position of a dependent geometric object.
[in] | inGeomPlaces | - Positions of independed geoms, which are got by ItGCBlackbox::CollectMyInGeoms. |
[in] | depPlace | - Depended geometric object. |
[out] | depPlace | - Calculated position for a dependent geom 'outGeom' |
|
inlinevirtual |
Formulate constraints for the dependent geometric object.
The function allows to set the position of the dependent object relative to it's governing objects explicitly using the interface MtGeomSolver (MtGeomSolver::AddConstraint, MtGeomSolver::AddConstraintItem, #MtGeomSolver::AddPattren). This mechanism is an alternative to calling ItGCBlackbox::Calculate. Using this mechanism provides an information about the dependency character. This information allows to extend the class of solvable problems but in some cases can lead to performance degradation.
[in,out] | solver | - System of constraints. |
[in] | outGeom | - Depended geometric object. |
|
inlinevirtual |
To finish work with the black box.
The function allows the user of this interface correctly to complete work with the black box when it is removing from the solver.
|
inlinevirtual |
Calculate position of a dependent geometric object.