AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxSensor::CameraCMOSSensor Class Reference

A rectangular CMOS sensor for common digital cameras. More...

#include <CameraCMOSSensor.h>

+ Inheritance diagram for agxSensor::CameraCMOSSensor:

Public Member Functions

 CameraCMOSSensor (CameraCMOSSensorManualExposureFlag, const agx::Vec2 &size=agx::Vec2(2728.8e-6, 1549.8e-6), const agx::Vec2i &resolution=agx::Vec2i(1920, 1080), agx::Real iso=100, agx::Real shutterSpeed=5.6e-3, agx::Real exposureCompensation=0.0)
 Constructs a CMOS digital camera sensor with manual exposure control.
 
 CameraCMOSSensor (const agx::Vec2 &size=agx::Vec2(2728.8e-6, 1549.8e-6), const agx::Vec2i &resolution=agx::Vec2i(1920, 1080), agx::Real iso=100, agx::Real shutterSpeed=5.6e-3, agx::Real dynamicRange=11.3)
 Constructs a CMOS digital camera sensor with auto-exposure.
 
OptionalDynamicRange getDynamicRange () const
 
OptionalExposureCompensation getExposureCompensation () const
 
virtual agx::Vec2 getExtents () const override
 
agx::Real getISO () const
 
agx::Vec2i getResolution () const
 
agx::Real getShutterSpeed () const
 
agx::Vec2 getSize () const
 
bool hasAutoExposureEnabled () const
 
void setAutoExposure (agx::Real dynamicRange)
 Set the sensor to use automatic exposure control.
 
void setISO (agx::Real iso)
 Set the amplifier ISO value for the sensor.
 
void setManualExposureCompensation (agx::Real exposureCompensation)
 Set the exposure compensation value for manual exposure control.
 
void setResolution (const agx::Vec2i &resolution)
 Set the sensor resolution.
 
void setShutterSpeed (agx::Real shutterSpeed)
 Set the shutter speed of the sensor electronic shutter.
 
void setSize (const agx::Vec2 &size)
 Set the sensor rectangular (physical) size.
 
- Public Member Functions inherited from agxSensor::CameraPhotodetector
 CameraPhotodetector ()=default
 Default constructor.
 
virtual agx::Vec2 getExtents () const =0
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referencedoperator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

A rectangular CMOS sensor for common digital cameras.

Definition at line 37 of file CameraCMOSSensor.h.

Constructor & Destructor Documentation

◆ CameraCMOSSensor() [1/2]

agxSensor::CameraCMOSSensor::CameraCMOSSensor ( const agx::Vec2 size = agx::Vec2(2728.8e-6, 1549.8e-6),
const agx::Vec2i resolution = agx::Vec2i(1920, 1080),
agx::Real  iso = 100,
agx::Real  shutterSpeed = 5.6e-3,
agx::Real  dynamicRange = 11.3 
)

Constructs a CMOS digital camera sensor with auto-exposure.

Parameters
size- the sensor rectangular (physical) size
resolution- the resolution
iso- the sensor amplifier ISO value
shutterSpeed- shutter speed of the sensor electronic shutter
dynamicRange- maximum exposure value (dynamic range)

◆ CameraCMOSSensor() [2/2]

agxSensor::CameraCMOSSensor::CameraCMOSSensor ( CameraCMOSSensorManualExposureFlag  ,
const agx::Vec2 size = agx::Vec2(2728.8e-6, 1549.8e-6),
const agx::Vec2i resolution = agx::Vec2i(1920, 1080),
agx::Real  iso = 100,
agx::Real  shutterSpeed = 5.6e-3,
agx::Real  exposureCompensation = 0.0 
)

Constructs a CMOS digital camera sensor with manual exposure control.

Parameters
size- the sensor rectangular (physical) size
resolution- the resolution
iso- the sensor amplifier ISO value
shutterSpeed- shutter speed of the sensor electronic shutter
exposureCompensation- manual exposure compensation value

Member Function Documentation

◆ getDynamicRange()

OptionalDynamicRange agxSensor::CameraCMOSSensor::getDynamicRange ( ) const
Returns
the maximum exposure value (dynamic range) used by auto-exposure, if auto-exposure is enabled

◆ getExposureCompensation()

OptionalExposureCompensation agxSensor::CameraCMOSSensor::getExposureCompensation ( ) const
Returns
the manual exposure compensation value, if auto-exposure is disabled

◆ getExtents()

virtual agx::Vec2 agxSensor::CameraCMOSSensor::getExtents ( ) const
overridevirtual
Returns
the sensor (physical) extents in the camera XY-plane.

Implements agxSensor::CameraPhotodetector.

◆ getISO()

agx::Real agxSensor::CameraCMOSSensor::getISO ( ) const
Returns
sensor amplifier ISO value

◆ getResolution()

agx::Vec2i agxSensor::CameraCMOSSensor::getResolution ( ) const
Returns
sensor resolution in pixels

◆ getShutterSpeed()

agx::Real agxSensor::CameraCMOSSensor::getShutterSpeed ( ) const
Returns
the shutter speed of the sensor electronic shutter

◆ getSize()

agx::Vec2 agxSensor::CameraCMOSSensor::getSize ( ) const
Returns
the sensor rectangular (physical) size in the camera XY-plane.

◆ hasAutoExposureEnabled()

bool agxSensor::CameraCMOSSensor::hasAutoExposureEnabled ( ) const
Returns
true if the sensor has automatic exposure control enabled

◆ setAutoExposure()

void agxSensor::CameraCMOSSensor::setAutoExposure ( agx::Real  dynamicRange)

Set the sensor to use automatic exposure control.

Note
This will enable auto-exposure.
Parameters
dynamicRange- maximum exposure value (dynamic range)

◆ setISO()

void agxSensor::CameraCMOSSensor::setISO ( agx::Real  iso)

Set the amplifier ISO value for the sensor.

Parameters
iso- amplifier ISO value

◆ setManualExposureCompensation()

void agxSensor::CameraCMOSSensor::setManualExposureCompensation ( agx::Real  exposureCompensation)

Set the exposure compensation value for manual exposure control.

Note
This will disable auto-exposure.
Parameters
exposureCompensation- exposure compensation value

◆ setResolution()

void agxSensor::CameraCMOSSensor::setResolution ( const agx::Vec2i resolution)

Set the sensor resolution.

Parameters
resolution- the pixel resolution

◆ setShutterSpeed()

void agxSensor::CameraCMOSSensor::setShutterSpeed ( agx::Real  shutterSpeed)

Set the shutter speed of the sensor electronic shutter.

Parameters
shutterSpeed- shutter speed for the sensor

◆ setSize()

void agxSensor::CameraCMOSSensor::setSize ( const agx::Vec2 size)

Set the sensor rectangular (physical) size.

Parameters
size- the rectangular size in the camera XY-plane

The documentation for this class was generated from the following file: