Class: cCameraGroupPointCloudSettings

The cCameraGroupPointCloudSettings class contains variables for configuring the point cloud reconstruction settings. An instance of this class can be assigned to a camera group, and used to optimize, or modify, the reconstruction from the group. There are multiple enum variables for defining various reconstruction settings.

  • Use the member functions to change the setting values within a cCameraGroupPointCloudSettings instance.
  • When using the Motive API, use TT_CameraGroupPointCloudSettings function to obtain a cCameraGroupPointCloudSettings instance from a camera group. Then use the TT_SetCameraGroupPointCloudSettings function to assign a cCameraGroupPointCloudSettings instance to a camera group.

Please refer to the Reconstruction Settings page for detailed descriptions on individual settings.


Member Functions[edit]

SetBoolParameter, SetDoubleParameter, SetLongParameter

These member functions are used for changing reconstruction settings (bool, double, long) of a cCameraGroupPointCloudSettings instance. Call matching data type functions to modify the parameters.
bool	SetBoolParameter( Setting which, bool val );
bool	SetDoubleParameter( Setting which, double val );
bool	SetLongParameter( Setting which, long val );


BoolParameter, DoubleParameter, LongParameter

These member functions fetches a point cloud reconstruction parameter from a cCameraGroupPointCloudsettings instance and saves it in the designated address. Call matching data type functions to obtain the parameters.
bool	BoolParameter( Setting which, bool &val ) const;
bool	DoubleParameter( Setting which, double &val ) const;
bool	LongParameter( Setting which, long &val ) const;


Declaration: NPTrackingTools.h[edit]

class TTAPI cCameraGroupPointCloudSettings
{
public:
    enum Setting : unsigned long long
    {
        eResolvePointCloud = 1LL,               // bool
        eShowCameras = 1LL << 1,                // bool
        eVisibleMarkerSize = 1LL << 2,          // double
        ePCResidual = 1LL << 3,                 // double
        ePCMinAngle = 1LL << 4,                 // double
        ePCMinRays = 1LL << 5,                  // long
        eShutterDelay = 1LL << 6,               // long
        ePrecisionPacketCap = 1LL << 7,        // long
        ePCMinRayLength = 1LL << 8,            // double
        ePCMaxRayLength = 1LL << 9,            // double
        ePCReconstructMinX = 1LL << 10,         // double
        ePCReconstructMaxX = 1LL << 11,         // double
        ePCReconstructMinY = 1LL << 12,         // double
        ePCReconstructMaxY = 1LL << 13,         // double
        ePCReconstructMinZ = 1LL << 14,         // double
        ePCReconstructMaxZ = 1LL << 15,         // double
        ePCObjectFilterLevel = 1LL << 16,       // long
        ePCObjectFilterMinSize = 1LL << 17,     // long
        ePCObjectFilterMaxSize = 1LL << 18,     // long
        ePCObjectFilterCircularity = 1LL << 19, // double
        ePCObjectFilterGrayscaleFloor = 1LL << 20, // long
        ePCObjectFilterAspectTolerance = 1LL << 21, // long
        ePCObjectFilterObjectMargin = 1LL << 22, // long
        eShowReconstructionBounds = 1LL << 23,  // bool
        eBoundReconstruction = 1LL << 24,       // bool
        eShowCaptureVolume = 1LL << 25,         // bool
        eShow3DMarkers = 1LL << 26,             // bool
        eShowCameraFOV = 1LL << 27,             // bool
        eCameraOverlap = 1LL << 28,             // double
        eVolumeResolution = 1LL << 29,          // double
        eWireframe = 1LL << 30,                 // double
        eFOVIntensity = 1LL << 31,              // double
        ePCPixelGutter = 1LL << 32,             // long
        ePCMaximum2DPoints = 1LL << 33,         // long
        eBlockWidth = 1LL << 34,                // double
        eBlockHeight = 1LL << 35,               // double
        eSynchronizerEngine = 1LL << 36,        // long 1=v1.0  2=v2.0
        eMarkerDiameterType = 1LL << 37,        // long
        eMarkerDiameterForceSize = 1LL << 38,   // double
        eSynchronizerControl = 1LL << 39,       // long
        eContinuousCalibration = 1LL << 40,     // bool
        eSettingsCount
    };

    cCameraGroupPointCloudSettings();
    ~cCameraGroupPointCloudSettings();

    //== Set individual parameter values. Only values that are set will be changed when submitting
    //== the settings block to TT_SetCameraGroupPointCloudSettings. These methods will return false 
    //== if there is a mismatch between the requested parameter and its expected type.
    bool            SetBoolParameter( Setting which, bool val );
    bool            SetDoubleParameter( Setting which, double val );
    bool            SetLongParameter( Setting which, long val );

    //== Retrieve individual parameter settings from the parameter block. These methods will return false 
    //== if there is a mismatch between the requested parameter and its expected type.
    bool            BoolParameter( Setting which, bool &val ) const;
    bool            DoubleParameter( Setting which, double &val ) const;
    bool            LongParameter( Setting which, long &val ) const;

private:
    unsigned long long mWhichSet;
    void *mSettings;

    friend TTAPI NPRESULT TT_CameraGroupPointCloudSettings(int groupIndex, cCameraGroupPointCloudSettings &settings);
    friend TTAPI NPRESULT TT_SetCameraGroupPointCloudSettings(int groupIndex, cCameraGroupPointCloudSettings &settings);
};