c3d-utils
Public Types | Public Member Functions
UuIcsC3d::DataPoint3d Struct Reference

A single marker point as found in a C3d file. More...

#include <uuc3d.hpp>

List of all members.

Public Types

enum  Status { Generated = 1, Measured = 2, Invalid = 64 }
 A point can be measured, generated by some computation or invalid.
typedef float const (& CTripleF )[3]
 Typedef used for return type of coordinates function.

Public Member Functions

 DataPoint3d ()
 Initialises to an Invalid point.
void set_value (float x, float y, float z, unsigned f, Status v=Generated)
void set_value (float const *in_coordinates, unsigned f, Status v=Generated)
void set_value (double const *in_coordinates, unsigned f, Status v=Generated)
void invalidate ()
 Make the point invalid.
void set_mask (char mask)
 Sets the mask.
void set_residual (float r)
 Sets the residual value.
Status status () const
bool is_valid () const
 false if the status is Invalid, otherwise true.
CTripleF coordinates () const
 The x, y and z coordinates as an array.
float x () const
 The x coordinate of a point.
float y () const
 The y coordinate of a point.
float z () const
 The z coordinate of a point.
unsigned flags () const
char mask () const
 A mask indicating which cameras were used for measuring the position.
float residual () const
 A measure for indicating the error for measured points.

Detailed Description

A single marker point as found in a C3d file.

Examples:

count_invalid.cpp.


Member Function Documentation

unsigned UuIcsC3d::DataPoint3d::flags ( ) const [inline]

A user defined 16 bit unsigned value that can be stored with a point. This only works when coordinates are stored as floats and is an extension that is not sanctioned by the C3d spec. It uses some space that is not used in the current spec.

void UuIcsC3d::DataPoint3d::set_value ( double const *  in_coordinates,
unsigned  f,
Status  v = Generated 
)

Set the value of the point. Residual and camera mask can not be set in this way and should be set separately, if necessary.

Parameters:
[in]in_coordinatesA pointer to three doubles (x, y, z)
[in]fFlags (an unsigned int of 16 bits, for user purposes)
[in]vThe status of this point (measured, generated or invalid)
void UuIcsC3d::DataPoint3d::set_value ( float const *  in_coordinates,
unsigned  f,
Status  v = Generated 
)

Set the value of the point. Residual and camera mask can not be set in this way and should be set separately, if necessary.

Parameters:
[in]in_coordinatesA pointer to three floats (x, y, z)
[in]fFlags (an unsigned int of 16 bits, for user purposes)
[in]vThe status of this point (measured, generated or invalid)
void UuIcsC3d::DataPoint3d::set_value ( float  x,
float  y,
float  z,
unsigned  f,
Status  v = Generated 
)

Set the value of the point. Residual and camera mask can not be set in this way and should be set separately, if necessary.

Parameters:
[in]xx-coordinate
[in]yy-coordinate
[in]zz-coordinate
[in]fFlags (an unsigned int of 16 bits, for user purposes)
[in]vThe status of this point (measured, generated or invalid)
Status UuIcsC3d::DataPoint3d::status ( ) const [inline]

The status of a point can be Invalid, Measured (by cameras) or Generated (by some computation).


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations