123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811 |
- /***********************************************************
- * File generated by the HALCON-Compiler hcomp version 20.11
- * Usage: Interface to C++
- *
- * Software by: MVTec Software GmbH, www.mvtec.com
- ***********************************************************/
- #ifndef HCPP_HOBJECTMODEL3D
- #define HCPP_HOBJECTMODEL3D
- namespace HalconCpp
- {
- // Represents an instance of a 3D object model.
- class LIntExport HObjectModel3D : public HHandle
- {
- public:
- // Copy constructor
- HObjectModel3D(const HObjectModel3D& source) : HHandle(source) {}
- // Copy constructor
- HObjectModel3D(const HHandle& handle);
- // Create HObjectModel3D from handle, taking ownership
- explicit HObjectModel3D(Hlong handle);
- bool operator==(const HHandle& obj) const
- {
- return HHandleBase::operator==(obj);
- }
- bool operator!=(const HHandle& obj) const
- {
- return HHandleBase::operator!=(obj);
- }
- protected:
- // Verify matching semantic type ('object_model_3d')!
- virtual void AssertType(Hphandle handle) const;
- public:
- // Deep copy of all data represented by this object instance
- HObjectModel3D Clone() const;
- /*****************************************************************************
- * Operator-based class constructors
- *****************************************************************************/
- // gen_empty_object_model_3d: Create an empty 3D object model.
- explicit HObjectModel3D();
- // gen_object_model_3d_from_points: Create a 3D object model that represents a point cloud from a set of 3D points.
- explicit HObjectModel3D(const HTuple& X, const HTuple& Y, const HTuple& Z);
- // gen_object_model_3d_from_points: Create a 3D object model that represents a point cloud from a set of 3D points.
- explicit HObjectModel3D(double X, double Y, double Z);
- // xyz_to_object_model_3d: Transform 3D points from images to a 3D object model.
- explicit HObjectModel3D(const HImage& X, const HImage& Y, const HImage& Z);
- // read_object_model_3d: Read a 3D object model from a file.
- explicit HObjectModel3D(const HString& FileName, const HTuple& Scale, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Status);
- // read_object_model_3d: Read a 3D object model from a file.
- explicit HObjectModel3D(const HString& FileName, const HString& Scale, const HString& GenParamName, const HString& GenParamValue, HString* Status);
- // read_object_model_3d: Read a 3D object model from a file.
- explicit HObjectModel3D(const char* FileName, const char* Scale, const char* GenParamName, const char* GenParamValue, HString* Status);
- #ifdef _WIN32
- // read_object_model_3d: Read a 3D object model from a file.
- explicit HObjectModel3D(const wchar_t* FileName, const wchar_t* Scale, const wchar_t* GenParamName, const wchar_t* GenParamValue, HString* Status);
- #endif
- /***************************************************************************
- * Operators *
- ***************************************************************************/
- // Get the result of a calibrated measurement performed with the sheet-of-light technique as a 3D object model.
- void GetSheetOfLightResultObjectModel3d(const HSheetOfLightModel& SheetOfLightModelID);
- // Fit 3D primitives into a set of 3D points.
- static HObjectModel3DArray FitPrimitivesObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Fit 3D primitives into a set of 3D points.
- HObjectModel3D FitPrimitivesObjectModel3d(const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Segment a set of 3D points into sub-sets with similar characteristics.
- static HObjectModel3DArray SegmentObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Segment a set of 3D points into sub-sets with similar characteristics.
- HObjectModel3D SegmentObjectModel3d(const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Calculate the 3D surface normals of a 3D object model.
- static HObjectModel3DArray SurfaceNormalsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Calculate the 3D surface normals of a 3D object model.
- HObjectModel3D SurfaceNormalsObjectModel3d(const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Calculate the 3D surface normals of a 3D object model.
- HObjectModel3D SurfaceNormalsObjectModel3d(const char* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Calculate the 3D surface normals of a 3D object model.
- HObjectModel3D SurfaceNormalsObjectModel3d(const wchar_t* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Smooth the 3D points of a 3D object model.
- static HObjectModel3DArray SmoothObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Smooth the 3D points of a 3D object model.
- HObjectModel3D SmoothObjectModel3d(const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Smooth the 3D points of a 3D object model.
- HObjectModel3D SmoothObjectModel3d(const char* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Smooth the 3D points of a 3D object model.
- HObjectModel3D SmoothObjectModel3d(const wchar_t* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Create a surface triangulation for a 3D object model.
- static HObjectModel3DArray TriangulateObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Information);
- // Create a surface triangulation for a 3D object model.
- HObjectModel3D TriangulateObjectModel3d(const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Information) const;
- // Create a surface triangulation for a 3D object model.
- HObjectModel3D TriangulateObjectModel3d(const char* Method, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Information) const;
- #ifdef _WIN32
- // Create a surface triangulation for a 3D object model.
- HObjectModel3D TriangulateObjectModel3d(const wchar_t* Method, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Information) const;
- #endif
- // Reconstruct surface from calibrated multi-view stereo images.
- void ReconstructSurfaceStereo(const HImage& Images, const HStereoModel& StereoModelID);
- // Refine the position and deformation of a deformable surface model in a 3D scene.
- HTuple RefineDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResultArray* DeformableSurfaceMatchingResult) const;
- // Refine the position and deformation of a deformable surface model in a 3D scene.
- double RefineDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HString& GenParamName, const HString& GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult) const;
- // Refine the position and deformation of a deformable surface model in a 3D scene.
- double RefineDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const char* GenParamName, const char* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult) const;
- #ifdef _WIN32
- // Refine the position and deformation of a deformable surface model in a 3D scene.
- double RefineDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const wchar_t* GenParamName, const wchar_t* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult) const;
- #endif
- // Find the best match of a deformable surface model in a 3D scene.
- HTuple FindDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HTuple& MinScore, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResultArray* DeformableSurfaceMatchingResult) const;
- // Find the best match of a deformable surface model in a 3D scene.
- double FindDeformableSurfaceModel(const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, double MinScore, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult) const;
- // Add a sample deformation to a deformable surface model
- static void AddDeformableSurfaceModelSample(const HDeformableSurfaceModel& DeformableSurfaceModel, const HObjectModel3DArray& ObjectModel3D);
- // Add a sample deformation to a deformable surface model
- void AddDeformableSurfaceModelSample(const HDeformableSurfaceModel& DeformableSurfaceModel) const;
- // Create the data structure needed to perform deformable surface-based matching.
- HDeformableSurfaceModel CreateDeformableSurfaceModel(double RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Create the data structure needed to perform deformable surface-based matching.
- HDeformableSurfaceModel CreateDeformableSurfaceModel(double RelSamplingDistance, const HString& GenParamName, const HString& GenParamValue) const;
- // Create the data structure needed to perform deformable surface-based matching.
- HDeformableSurfaceModel CreateDeformableSurfaceModel(double RelSamplingDistance, const char* GenParamName, const char* GenParamValue) const;
- #ifdef _WIN32
- // Create the data structure needed to perform deformable surface-based matching.
- HDeformableSurfaceModel CreateDeformableSurfaceModel(double RelSamplingDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue) const;
- #endif
- // Refine the pose of a surface model in a 3D scene.
- HPoseArray RefineSurfaceModelPose(const HSurfaceModel& SurfaceModelID, const HPoseArray& InitialPose, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const;
- // Refine the pose of a surface model in a 3D scene.
- HPose RefineSurfaceModelPose(const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- // Refine the pose of a surface model in a 3D scene.
- HPose RefineSurfaceModelPose(const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #ifdef _WIN32
- // Refine the pose of a surface model in a 3D scene.
- HPose RefineSurfaceModelPose(const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #endif
- // Find the best matches of a surface model in a 3D scene.
- HPoseArray FindSurfaceModel(const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const;
- // Find the best matches of a surface model in a 3D scene.
- HPose FindSurfaceModel(const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- // Find the best matches of a surface model in a 3D scene.
- HPose FindSurfaceModel(const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #ifdef _WIN32
- // Find the best matches of a surface model in a 3D scene.
- HPose FindSurfaceModel(const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #endif
- // Create the data structure needed to perform surface-based matching.
- HSurfaceModel CreateSurfaceModel(double RelSamplingDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Create the data structure needed to perform surface-based matching.
- HSurfaceModel CreateSurfaceModel(double RelSamplingDistance, const HString& GenParamName, const HString& GenParamValue) const;
- // Create the data structure needed to perform surface-based matching.
- HSurfaceModel CreateSurfaceModel(double RelSamplingDistance, const char* GenParamName, const char* GenParamValue) const;
- #ifdef _WIN32
- // Create the data structure needed to perform surface-based matching.
- HSurfaceModel CreateSurfaceModel(double RelSamplingDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue) const;
- #endif
- // Simplify a triangulated 3D object model.
- static HObjectModel3DArray SimplifyObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& Amount, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Simplify a triangulated 3D object model.
- HObjectModel3D SimplifyObjectModel3d(const HString& Method, double Amount, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Simplify a triangulated 3D object model.
- HObjectModel3D SimplifyObjectModel3d(const char* Method, double Amount, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Simplify a triangulated 3D object model.
- HObjectModel3D SimplifyObjectModel3d(const wchar_t* Method, double Amount, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Compute the distances of the points of one 3D object model to another 3D object model.
- void DistanceObjectModel3d(const HObjectModel3D& ObjectModel3DTo, const HPose& Pose, const HTuple& MaxDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Compute the distances of the points of one 3D object model to another 3D object model.
- void DistanceObjectModel3d(const HObjectModel3D& ObjectModel3DTo, const HPose& Pose, double MaxDistance, const HString& GenParamName, const HString& GenParamValue) const;
- // Compute the distances of the points of one 3D object model to another 3D object model.
- void DistanceObjectModel3d(const HObjectModel3D& ObjectModel3DTo, const HPose& Pose, double MaxDistance, const char* GenParamName, const char* GenParamValue) const;
- #ifdef _WIN32
- // Compute the distances of the points of one 3D object model to another 3D object model.
- void DistanceObjectModel3d(const HObjectModel3D& ObjectModel3DTo, const HPose& Pose, double MaxDistance, const wchar_t* GenParamName, const wchar_t* GenParamValue) const;
- #endif
- // Combine several 3D object models to a new 3D object model.
- static HObjectModel3D UnionObjectModel3d(const HObjectModel3DArray& ObjectModels3D, const HString& Method);
- // Combine several 3D object models to a new 3D object model.
- HObjectModel3D UnionObjectModel3d(const HString& Method) const;
- // Combine several 3D object models to a new 3D object model.
- HObjectModel3D UnionObjectModel3d(const char* Method) const;
- #ifdef _WIN32
- // Combine several 3D object models to a new 3D object model.
- HObjectModel3D UnionObjectModel3d(const wchar_t* Method) const;
- #endif
- // Set attributes of a 3D object model.
- void SetObjectModel3dAttribMod(const HTuple& AttribName, const HString& AttachExtAttribTo, const HTuple& AttribValues) const;
- // Set attributes of a 3D object model.
- void SetObjectModel3dAttribMod(const HString& AttribName, const HString& AttachExtAttribTo, double AttribValues) const;
- // Set attributes of a 3D object model.
- void SetObjectModel3dAttribMod(const char* AttribName, const char* AttachExtAttribTo, double AttribValues) const;
- #ifdef _WIN32
- // Set attributes of a 3D object model.
- void SetObjectModel3dAttribMod(const wchar_t* AttribName, const wchar_t* AttachExtAttribTo, double AttribValues) const;
- #endif
- // Set attributes of a 3D object model.
- HObjectModel3D SetObjectModel3dAttrib(const HTuple& AttribName, const HString& AttachExtAttribTo, const HTuple& AttribValues) const;
- // Set attributes of a 3D object model.
- HObjectModel3D SetObjectModel3dAttrib(const HString& AttribName, const HString& AttachExtAttribTo, double AttribValues) const;
- // Set attributes of a 3D object model.
- HObjectModel3D SetObjectModel3dAttrib(const char* AttribName, const char* AttachExtAttribTo, double AttribValues) const;
- #ifdef _WIN32
- // Set attributes of a 3D object model.
- HObjectModel3D SetObjectModel3dAttrib(const wchar_t* AttribName, const wchar_t* AttachExtAttribTo, double AttribValues) const;
- #endif
- // Create an empty 3D object model.
- void GenEmptyObjectModel3d();
- // Sample a 3D object model.
- static HObjectModel3DArray SampleObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& SampleDistance, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Sample a 3D object model.
- HObjectModel3D SampleObjectModel3d(const HString& Method, double SampleDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Sample a 3D object model.
- HObjectModel3D SampleObjectModel3d(const char* Method, double SampleDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Sample a 3D object model.
- HObjectModel3D SampleObjectModel3d(const wchar_t* Method, double SampleDistance, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Improve the relative transformations between 3D object models based on their overlaps.
- static HHomMat3DArray RegisterObjectModel3dGlobal(const HObjectModel3DArray& ObjectModels3D, const HHomMat3DArray& HomMats3D, const HTuple& From, const HTuple& To, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Scores);
- // Improve the relative transformations between 3D object models based on their overlaps.
- HHomMat3DArray RegisterObjectModel3dGlobal(const HHomMat3DArray& HomMats3D, const HString& From, Hlong To, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Scores) const;
- // Improve the relative transformations between 3D object models based on their overlaps.
- HHomMat3DArray RegisterObjectModel3dGlobal(const HHomMat3DArray& HomMats3D, const char* From, Hlong To, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Scores) const;
- #ifdef _WIN32
- // Improve the relative transformations between 3D object models based on their overlaps.
- HHomMat3DArray RegisterObjectModel3dGlobal(const HHomMat3DArray& HomMats3D, const wchar_t* From, Hlong To, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Scores) const;
- #endif
- // Search for a transformation between two 3D object models.
- HPose RegisterObjectModel3dPair(const HObjectModel3D& ObjectModel3D2, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score) const;
- // Search for a transformation between two 3D object models.
- HPose RegisterObjectModel3dPair(const HObjectModel3D& ObjectModel3D2, const HString& Method, const HString& GenParamName, double GenParamValue, HTuple* Score) const;
- // Search for a transformation between two 3D object models.
- HPose RegisterObjectModel3dPair(const HObjectModel3D& ObjectModel3D2, const char* Method, const char* GenParamName, double GenParamValue, HTuple* Score) const;
- #ifdef _WIN32
- // Search for a transformation between two 3D object models.
- HPose RegisterObjectModel3dPair(const HObjectModel3D& ObjectModel3D2, const wchar_t* Method, const wchar_t* GenParamName, double GenParamValue, HTuple* Score) const;
- #endif
- // Create a 3D object model that represents a point cloud from a set of 3D points.
- void GenObjectModel3dFromPoints(const HTuple& X, const HTuple& Y, const HTuple& Z);
- // Create a 3D object model that represents a point cloud from a set of 3D points.
- void GenObjectModel3dFromPoints(double X, double Y, double Z);
- // Create a 3D object model that represents a box.
- static HObjectModel3DArray GenBoxObjectModel3d(const HPoseArray& Pose, const HTuple& LengthX, const HTuple& LengthY, const HTuple& LengthZ);
- // Create a 3D object model that represents a box.
- void GenBoxObjectModel3d(const HPose& Pose, double LengthX, double LengthY, double LengthZ);
- // Create a 3D object model that represents a plane.
- void GenPlaneObjectModel3d(const HPose& Pose, const HTuple& XExtent, const HTuple& YExtent);
- // Create a 3D object model that represents a plane.
- void GenPlaneObjectModel3d(const HPose& Pose, double XExtent, double YExtent);
- // Create a 3D object model that represents a sphere from x,y,z coordinates.
- static HObjectModel3DArray GenSphereObjectModel3dCenter(const HTuple& X, const HTuple& Y, const HTuple& Z, const HTuple& Radius);
- // Create a 3D object model that represents a sphere from x,y,z coordinates.
- void GenSphereObjectModel3dCenter(double X, double Y, double Z, double Radius);
- // Create a 3D object model that represents a sphere.
- static HObjectModel3DArray GenSphereObjectModel3d(const HPoseArray& Pose, const HTuple& Radius);
- // Create a 3D object model that represents a sphere.
- void GenSphereObjectModel3d(const HPose& Pose, double Radius);
- // Create a 3D object model that represents a cylinder.
- static HObjectModel3DArray GenCylinderObjectModel3d(const HPoseArray& Pose, const HTuple& Radius, const HTuple& MinExtent, const HTuple& MaxExtent);
- // Create a 3D object model that represents a cylinder.
- void GenCylinderObjectModel3d(const HPose& Pose, double Radius, double MinExtent, double MaxExtent);
- // Calculate the smallest bounding box around the points of a 3D object model.
- static HPoseArray SmallestBoundingBoxObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Type, HTuple* Length1, HTuple* Length2, HTuple* Length3);
- // Calculate the smallest bounding box around the points of a 3D object model.
- HPose SmallestBoundingBoxObjectModel3d(const HString& Type, double* Length1, double* Length2, double* Length3) const;
- // Calculate the smallest bounding box around the points of a 3D object model.
- HPose SmallestBoundingBoxObjectModel3d(const char* Type, double* Length1, double* Length2, double* Length3) const;
- #ifdef _WIN32
- // Calculate the smallest bounding box around the points of a 3D object model.
- HPose SmallestBoundingBoxObjectModel3d(const wchar_t* Type, double* Length1, double* Length2, double* Length3) const;
- #endif
- // Calculate the smallest sphere around the points of a 3D object model.
- static HTuple SmallestSphereObjectModel3d(const HObjectModel3DArray& ObjectModel3D, HTuple* Radius);
- // Calculate the smallest sphere around the points of a 3D object model.
- HTuple SmallestSphereObjectModel3d(double* Radius) const;
- // Intersect a 3D object model with a plane.
- static HObjectModel3DArray IntersectPlaneObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Plane);
- // Intersect a 3D object model with a plane.
- HObjectModel3D IntersectPlaneObjectModel3d(const HPose& Plane) const;
- // Calculate the convex hull of a 3D object model.
- static HObjectModel3DArray ConvexHullObjectModel3d(const HObjectModel3DArray& ObjectModel3D);
- // Calculate the convex hull of a 3D object model.
- HObjectModel3D ConvexHullObjectModel3d() const;
- // Select 3D object models from an array of 3D object models according to global features.
- static HObjectModel3DArray SelectObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Feature, const HString& Operation, const HTuple& MinValue, const HTuple& MaxValue);
- // Select 3D object models from an array of 3D object models according to global features.
- HObjectModel3D SelectObjectModel3d(const HString& Feature, const HString& Operation, double MinValue, double MaxValue) const;
- // Select 3D object models from an array of 3D object models according to global features.
- HObjectModel3D SelectObjectModel3d(const char* Feature, const char* Operation, double MinValue, double MaxValue) const;
- #ifdef _WIN32
- // Select 3D object models from an array of 3D object models according to global features.
- HObjectModel3D SelectObjectModel3d(const wchar_t* Feature, const wchar_t* Operation, double MinValue, double MaxValue) const;
- #endif
- // Calculate the area of all faces of a 3D object model.
- static HTuple AreaObjectModel3d(const HObjectModel3DArray& ObjectModel3D);
- // Calculate the area of all faces of a 3D object model.
- double AreaObjectModel3d() const;
- // Calculate the maximal diameter of a 3D object model.
- static HTuple MaxDiameterObjectModel3d(const HObjectModel3DArray& ObjectModel3D);
- // Calculate the maximal diameter of a 3D object model.
- double MaxDiameterObjectModel3d() const;
- // Calculates the mean or the central moment of second order for a 3D object model.
- static HTuple MomentsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& MomentsToCalculate);
- // Calculates the mean or the central moment of second order for a 3D object model.
- double MomentsObjectModel3d(const HString& MomentsToCalculate) const;
- // Calculates the mean or the central moment of second order for a 3D object model.
- double MomentsObjectModel3d(const char* MomentsToCalculate) const;
- #ifdef _WIN32
- // Calculates the mean or the central moment of second order for a 3D object model.
- double MomentsObjectModel3d(const wchar_t* MomentsToCalculate) const;
- #endif
- // Calculate the volume of a 3D object model.
- static HTuple VolumeObjectModel3dRelativeToPlane(const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Plane, const HTuple& Mode, const HTuple& UseFaceOrientation);
- // Calculate the volume of a 3D object model.
- double VolumeObjectModel3dRelativeToPlane(const HPose& Plane, const HString& Mode, const HString& UseFaceOrientation) const;
- // Calculate the volume of a 3D object model.
- double VolumeObjectModel3dRelativeToPlane(const HPose& Plane, const char* Mode, const char* UseFaceOrientation) const;
- #ifdef _WIN32
- // Calculate the volume of a 3D object model.
- double VolumeObjectModel3dRelativeToPlane(const HPose& Plane, const wchar_t* Mode, const wchar_t* UseFaceOrientation) const;
- #endif
- // Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region.
- static HObjectModel3DArray ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3DArray& ObjectModel3D, const HCamPar& CamParam, const HPoseArray& Pose);
- // Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region.
- HObjectModel3D ReduceObjectModel3dByView(const HRegion& Region, const HCamPar& CamParam, const HPose& Pose) const;
- // Determine the connected components of the 3D object model.
- static HObjectModel3DArray ConnectionObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Feature, const HTuple& Value);
- // Determine the connected components of the 3D object model.
- HObjectModel3DArray ConnectionObjectModel3d(const HString& Feature, double Value) const;
- // Determine the connected components of the 3D object model.
- HObjectModel3DArray ConnectionObjectModel3d(const char* Feature, double Value) const;
- #ifdef _WIN32
- // Determine the connected components of the 3D object model.
- HObjectModel3DArray ConnectionObjectModel3d(const wchar_t* Feature, double Value) const;
- #endif
- // Apply a threshold to an attribute of 3D object models.
- static HObjectModel3DArray SelectPointsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Attrib, const HTuple& MinValue, const HTuple& MaxValue);
- // Apply a threshold to an attribute of 3D object models.
- HObjectModel3D SelectPointsObjectModel3d(const HString& Attrib, double MinValue, double MaxValue) const;
- // Apply a threshold to an attribute of 3D object models.
- HObjectModel3D SelectPointsObjectModel3d(const char* Attrib, double MinValue, double MaxValue) const;
- #ifdef _WIN32
- // Apply a threshold to an attribute of 3D object models.
- HObjectModel3D SelectPointsObjectModel3d(const wchar_t* Attrib, double MinValue, double MaxValue) const;
- #endif
- // Get the depth or the index of a displayed 3D object model.
- static HTuple GetDispObjectModel3dInfo(const HWindow& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Information);
- // Get the depth or the index of a displayed 3D object model.
- static Hlong GetDispObjectModel3dInfo(const HWindow& WindowHandle, double Row, double Column, const HString& Information);
- // Get the depth or the index of a displayed 3D object model.
- static Hlong GetDispObjectModel3dInfo(const HWindow& WindowHandle, double Row, double Column, const char* Information);
- #ifdef _WIN32
- // Get the depth or the index of a displayed 3D object model.
- static Hlong GetDispObjectModel3dInfo(const HWindow& WindowHandle, double Row, double Column, const wchar_t* Information);
- #endif
- // Render 3D object models to get an image.
- static HImage RenderObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HCamPar& CamParam, const HPoseArray& Pose, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Render 3D object models to get an image.
- HImage RenderObjectModel3d(const HCamPar& CamParam, const HPose& Pose, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Display 3D object models.
- static void DispObjectModel3d(const HWindow& WindowHandle, const HObjectModel3DArray& ObjectModel3D, const HCamPar& CamParam, const HPoseArray& Pose, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Display 3D object models.
- void DispObjectModel3d(const HWindow& WindowHandle, const HCamPar& CamParam, const HPose& Pose, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Copy a 3D object model.
- HObjectModel3D CopyObjectModel3d(const HTuple& Attributes) const;
- // Copy a 3D object model.
- HObjectModel3D CopyObjectModel3d(const HString& Attributes) const;
- // Copy a 3D object model.
- HObjectModel3D CopyObjectModel3d(const char* Attributes) const;
- #ifdef _WIN32
- // Copy a 3D object model.
- HObjectModel3D CopyObjectModel3d(const wchar_t* Attributes) const;
- #endif
- // Prepare a 3D object model for a certain operation.
- static void PrepareObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Purpose, const HString& OverwriteData, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Prepare a 3D object model for a certain operation.
- void PrepareObjectModel3d(const HString& Purpose, const HString& OverwriteData, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Prepare a 3D object model for a certain operation.
- void PrepareObjectModel3d(const char* Purpose, const char* OverwriteData, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Prepare a 3D object model for a certain operation.
- void PrepareObjectModel3d(const wchar_t* Purpose, const wchar_t* OverwriteData, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Transform 3D points from a 3D object model to images.
- static HImage ObjectModel3dToXyz(HImage* Y, HImage* Z, const HObjectModel3DArray& ObjectModel3D, const HString& Type, const HCamPar& CamParam, const HPose& Pose);
- // Transform 3D points from a 3D object model to images.
- HImage ObjectModel3dToXyz(HImage* Y, HImage* Z, const HString& Type, const HCamPar& CamParam, const HPose& Pose) const;
- // Transform 3D points from a 3D object model to images.
- HImage ObjectModel3dToXyz(HImage* Y, HImage* Z, const char* Type, const HCamPar& CamParam, const HPose& Pose) const;
- #ifdef _WIN32
- // Transform 3D points from a 3D object model to images.
- HImage ObjectModel3dToXyz(HImage* Y, HImage* Z, const wchar_t* Type, const HCamPar& CamParam, const HPose& Pose) const;
- #endif
- // Transform 3D points from images to a 3D object model.
- void XyzToObjectModel3d(const HImage& X, const HImage& Y, const HImage& Z);
- // Return attributes of 3D object models.
- static HTuple GetObjectModel3dParams(const HObjectModel3DArray& ObjectModel3D, const HTuple& GenParamName);
- // Return attributes of 3D object models.
- HTuple GetObjectModel3dParams(const HTuple& GenParamName) const;
- // Project a 3D object model into image coordinates.
- HXLDCont ProjectObjectModel3d(const HCamPar& CamParam, const HPose& Pose, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Project a 3D object model into image coordinates.
- HXLDCont ProjectObjectModel3d(const HCamPar& CamParam, const HPose& Pose, const HString& GenParamName, const HString& GenParamValue) const;
- // Project a 3D object model into image coordinates.
- HXLDCont ProjectObjectModel3d(const HCamPar& CamParam, const HPose& Pose, const char* GenParamName, const char* GenParamValue) const;
- #ifdef _WIN32
- // Project a 3D object model into image coordinates.
- HXLDCont ProjectObjectModel3d(const HCamPar& CamParam, const HPose& Pose, const wchar_t* GenParamName, const wchar_t* GenParamValue) const;
- #endif
- // Apply a rigid 3D transformation to 3D object models.
- static HObjectModel3DArray RigidTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Pose);
- // Apply a rigid 3D transformation to 3D object models.
- HObjectModel3D RigidTransObjectModel3d(const HPose& Pose) const;
- // Apply an arbitrary projective 3D transformation to 3D object models.
- static HObjectModel3DArray ProjectiveTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HHomMat3D& HomMat3D);
- // Apply an arbitrary projective 3D transformation to 3D object models.
- HObjectModel3D ProjectiveTransObjectModel3d(const HHomMat3D& HomMat3D) const;
- // Apply an arbitrary affine 3D transformation to 3D object models.
- static HObjectModel3DArray AffineTransObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HHomMat3DArray& HomMat3D);
- // Apply an arbitrary affine 3D transformation to 3D object models.
- HObjectModel3D AffineTransObjectModel3d(const HHomMat3D& HomMat3D) const;
- // Free the memory of a 3D object model.
- static void ClearObjectModel3d(const HObjectModel3DArray& ObjectModel3D);
- // Free the memory of a 3D object model.
- void ClearObjectModel3d() const;
- // Serialize a 3D object model.
- HSerializedItem SerializeObjectModel3d() const;
- // Deserialize a serialized 3D object model.
- void DeserializeObjectModel3d(const HSerializedItem& SerializedItemHandle);
- // Writes a 3D object model to a file.
- void WriteObjectModel3d(const HString& FileType, const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Writes a 3D object model to a file.
- void WriteObjectModel3d(const HString& FileType, const HString& FileName, const HString& GenParamName, const HString& GenParamValue) const;
- // Writes a 3D object model to a file.
- void WriteObjectModel3d(const char* FileType, const char* FileName, const char* GenParamName, const char* GenParamValue) const;
- #ifdef _WIN32
- // Writes a 3D object model to a file.
- void WriteObjectModel3d(const wchar_t* FileType, const wchar_t* FileName, const wchar_t* GenParamName, const wchar_t* GenParamValue) const;
- #endif
- // Read a 3D object model from a file.
- HTuple ReadObjectModel3d(const HString& FileName, const HTuple& Scale, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Read a 3D object model from a file.
- HString ReadObjectModel3d(const HString& FileName, const HString& Scale, const HString& GenParamName, const HString& GenParamValue);
- // Read a 3D object model from a file.
- HString ReadObjectModel3d(const char* FileName, const char* Scale, const char* GenParamName, const char* GenParamValue);
- #ifdef _WIN32
- // Read a 3D object model from a file.
- HString ReadObjectModel3d(const wchar_t* FileName, const wchar_t* Scale, const wchar_t* GenParamName, const wchar_t* GenParamValue);
- #endif
- // Compute the calibrated scene flow between two stereo image pairs.
- static HObjectModel3DArray SceneFlowCalib(const HImage& ImageRect1T1, const HImage& ImageRect2T1, const HImage& ImageRect1T2, const HImage& ImageRect2T2, const HImage& Disparity, const HTuple& SmoothingFlow, const HTuple& SmoothingDisparity, const HTuple& GenParamName, const HTuple& GenParamValue, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HPose& RelPoseRect);
- // Compute the calibrated scene flow between two stereo image pairs.
- void SceneFlowCalib(const HImage& ImageRect1T1, const HImage& ImageRect2T1, const HImage& ImageRect1T2, const HImage& ImageRect2T2, const HImage& Disparity, double SmoothingFlow, double SmoothingDisparity, const HString& GenParamName, const HString& GenParamValue, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HPose& RelPoseRect);
- // Compute the calibrated scene flow between two stereo image pairs.
- void SceneFlowCalib(const HImage& ImageRect1T1, const HImage& ImageRect2T1, const HImage& ImageRect1T2, const HImage& ImageRect2T2, const HImage& Disparity, double SmoothingFlow, double SmoothingDisparity, const char* GenParamName, const char* GenParamValue, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HPose& RelPoseRect);
- #ifdef _WIN32
- // Compute the calibrated scene flow between two stereo image pairs.
- void SceneFlowCalib(const HImage& ImageRect1T1, const HImage& ImageRect2T1, const HImage& ImageRect1T2, const HImage& ImageRect2T2, const HImage& Disparity, double SmoothingFlow, double SmoothingDisparity, const wchar_t* GenParamName, const wchar_t* GenParamValue, const HCamPar& CamParamRect1, const HCamPar& CamParamRect2, const HPose& RelPoseRect);
- #endif
- // Find edges in a 3D object model.
- HObjectModel3D EdgesObjectModel3d(const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Find edges in a 3D object model.
- HObjectModel3D EdgesObjectModel3d(double MinAmplitude, const HString& GenParamName, double GenParamValue) const;
- // Find edges in a 3D object model.
- HObjectModel3D EdgesObjectModel3d(double MinAmplitude, const char* GenParamName, double GenParamValue) const;
- #ifdef _WIN32
- // Find edges in a 3D object model.
- HObjectModel3D EdgesObjectModel3d(double MinAmplitude, const wchar_t* GenParamName, double GenParamValue) const;
- #endif
- // Find the best matches of a surface model in a 3D scene and images.
- HPoseArray FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const;
- // Find the best matches of a surface model in a 3D scene and images.
- HPose FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- // Find the best matches of a surface model in a 3D scene and images.
- HPose FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #ifdef _WIN32
- // Find the best matches of a surface model in a 3D scene and images.
- HPose FindSurfaceModelImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, double RelSamplingDistance, double KeyPointFraction, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #endif
- // Refine the pose of a surface model in a 3D scene and in images.
- HPoseArray RefineSurfaceModelPoseImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HPoseArray& InitialPose, const HTuple& MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResultArray* SurfaceMatchingResultID) const;
- // Refine the pose of a surface model in a 3D scene and in images.
- HPose RefineSurfaceModelPoseImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const HString& ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- // Refine the pose of a surface model in a 3D scene and in images.
- HPose RefineSurfaceModelPoseImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const char* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #ifdef _WIN32
- // Refine the pose of a surface model in a 3D scene and in images.
- HPose RefineSurfaceModelPoseImage(const HImage& Image, const HSurfaceModel& SurfaceModelID, const HPose& InitialPose, double MinScore, const wchar_t* ReturnResultHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HSurfaceMatchingResult* SurfaceMatchingResultID) const;
- #endif
- // Fuse 3D object models into a surface.
- static HObjectModel3D FuseObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& BoundingBox, const HTuple& Resolution, const HTuple& SurfaceTolerance, const HTuple& MinThickness, const HTuple& Smoothing, const HTuple& NormalDirection, const HTuple& GenParamName, const HTuple& GenParamValue);
- // Fuse 3D object models into a surface.
- HObjectModel3D FuseObjectModel3d(const HTuple& BoundingBox, double Resolution, double SurfaceTolerance, double MinThickness, double Smoothing, const HString& NormalDirection, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- // Fuse 3D object models into a surface.
- HObjectModel3D FuseObjectModel3d(const HTuple& BoundingBox, double Resolution, double SurfaceTolerance, double MinThickness, double Smoothing, const char* NormalDirection, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #ifdef _WIN32
- // Fuse 3D object models into a surface.
- HObjectModel3D FuseObjectModel3d(const HTuple& BoundingBox, double Resolution, double SurfaceTolerance, double MinThickness, double Smoothing, const wchar_t* NormalDirection, const HTuple& GenParamName, const HTuple& GenParamValue) const;
- #endif
- // Find boxes in 3D data.
- HPoseArray FindBox3d(const HTuple& SideLen1, const HTuple& SideLen2, const HTuple& SideLen3, const HTuple& MinScore, const HDict& GenParam, HTuple* Score, HObjectModel3DArray* ObjectModel3DBox, HDict* BoxInformation) const;
- // Find boxes in 3D data.
- HPose FindBox3d(const HTuple& SideLen1, const HTuple& SideLen2, const HTuple& SideLen3, double MinScore, const HDict& GenParam, HTuple* Score, HObjectModel3DArray* ObjectModel3DBox, HDict* BoxInformation) const;
- // Remove attributes of a 3D object model.
- HObjectModel3D RemoveObjectModel3dAttrib(const HTuple& Attributes) const;
- // Remove attributes of a 3D object model.
- HObjectModel3D RemoveObjectModel3dAttrib(const HString& Attributes) const;
- // Remove attributes of a 3D object model.
- HObjectModel3D RemoveObjectModel3dAttrib(const char* Attributes) const;
- #ifdef _WIN32
- // Remove attributes of a 3D object model.
- HObjectModel3D RemoveObjectModel3dAttrib(const wchar_t* Attributes) const;
- #endif
- // Remove attributes of a 3D object model.
- void RemoveObjectModel3dAttribMod(const HTuple& Attributes) const;
- // Remove attributes of a 3D object model.
- void RemoveObjectModel3dAttribMod(const HString& Attributes) const;
- // Remove attributes of a 3D object model.
- void RemoveObjectModel3dAttribMod(const char* Attributes) const;
- #ifdef _WIN32
- // Remove attributes of a 3D object model.
- void RemoveObjectModel3dAttribMod(const wchar_t* Attributes) const;
- #endif
- };
- // forward declarations and types for internal array implementation
- template<class T> class HSmartPtr;
- template<class T> class HHandleBaseArrayRef;
- typedef HHandleBaseArrayRef<HObjectModel3D> HObjectModel3DArrayRef;
- typedef HSmartPtr< HObjectModel3DArrayRef > HObjectModel3DArrayPtr;
- // Represents multiple tool instances
- class LIntExport HObjectModel3DArray : public HHandleBaseArray
- {
- public:
- // Create empty array
- HObjectModel3DArray();
- // Create array from native array of tool instances
- HObjectModel3DArray(HObjectModel3D* classes, Hlong length);
- // Copy constructor
- HObjectModel3DArray(const HObjectModel3DArray &tool_array);
- // Destructor
- virtual ~HObjectModel3DArray();
- // Assignment operator
- HObjectModel3DArray &operator=(const HObjectModel3DArray &tool_array);
- // Clears array and all tool instances
- virtual void Clear();
- // Get array of native tool instances
- const HObjectModel3D* Tools() const;
- // Get number of tools
- virtual Hlong Length() const;
- // Create tool array from tuple of handles
- virtual void SetFromTuple(const HTuple& handles);
- // Get tuple of handles for tool array
- virtual HTuple ConvertToTuple() const;
- protected:
- // Smart pointer to internal data container
- HObjectModel3DArrayPtr *mArrayPtr;
- };
- }
- #endif
|