Hyelicht 2.0
Controller application for the Hyelicht shelf. Paint on the shelf with colors, turn on the fireplace mode, and more.
Loading...
Searching...
No Matches
Public Types | Signals | Public Member Functions | Properties | List of all members
ShelfModel Class Reference

Data model and business logic specific to the Hyelicht shelf. More...

#include <shelfmodel.h>

Inheritance diagram for ShelfModel:
Inheritance graph
[legend]
Collaboration diagram for ShelfModel:
Collaboration graph
[legend]

Public Types

enum  AdditionalRoles : int {
  AverageColor = Qt::UserRole + 1 , AverageRed , AverageGreen , AverageBlue ,
  AverageBrightness
}
 Non-standard model data roles offered by this model. More...
 

Signals

void ledStripChanged () const
 The LedStrip instance this model operates on has changed.
 
void enabledChanged (bool enabled) const
 The shelf has turned on or off.
 
void rowsChanged (int rows) const
 The number of boards in the shelf has changed.
 
void columnsChanged (int columns) const
 The number of compartments in each shelf board has changed.
 
void densityChanged (int density) const
 The number of LEDs in each shelf compartment has changed.
 
void wallThicknessChanged (int thickness) const
 The number of LEDs behind each compartment-dividing wall has changed.
 
void brightnessChanged (qreal brightness) const
 The brightness of the shelf has changed.
 
void animateBrightnessTransitionsChanged (bool animate) const
 Whether to animate transitions between brightness levels has changed.
 
void averageColorChanged (const QColor &color) const
 The average color of the shelf has changed.
 
void animateAverageColorTransitionsChanged (bool animate) const
 Whether to animate transitions between full-shelf color fills has changed.
 
void transitionDurationChanged (int duration) const
 The duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.
 
void animationChanged () const
 The animation operating on ledStrip has changed.
 
void animatingChanged (bool animating) const
 Whether to run the animation has changed.
 
void remotingEnabledChanged () const
 Whether to enable the remoting API server has changed.
 
void listenAddressChanged () const
 The listen address for the remoting API server has changed.
 

Public Member Functions

 ShelfModel (QObject *parent=nullptr)
 Create a shelf model.
 
LedStripledStrip () const
 The LedStrip instance this model operates on.
 
void setLedStrip (LedStrip *ledStrip)
 Set the LedStrip instance this model operates on.
 
bool enabled () const
 Whether the shelf is on or off.
 
void setEnabled (bool enabled)
 Turn the shelf on or off.
 
int rows () const
 The number of boards in the shelf.
 
void setRows (int rows)
 Set the number of boards in the shelf.
 
int columns () const
 The number of compartments in each shelf board.
 
void setColumns (int columns)
 Set the number of compartments in each shelf board.
 
int density () const
 The number of LEDs in each shelf compartment.
 
void setDensity (int density)
 Set the number of LEDs in each shelf compartment.
 
int wallThickness () const
 The number of LEDs behind each compartment-dividing wall.
 
void setWallThickness (int thickness)
 Set the number of LEDs behind each compartment-dividing wall.
 
qreal brightness () const
 The shelf brightness level while on.
 
void setBrightness (qreal brightness)
 Set the shelf brightness level while on.
 
bool animateBrightnessTransitions () const
 Whether to animate transitions between brightness levels.
 
void setAnimateBrightnessTransitions (bool animate)
 Set whether to animate transitions between brightness levels.
 
QColor averageColor () const
 The average color of the shelf.
 
void setAverageColor (const QColor &color)
 Sets the average color of the shelf.
 
bool animateAverageColorTransitions () const
 Whether to animate transitions between full-shelf color fills.
 
void setAnimateAverageColorTransitions (bool animate)
 Set whether to animate transitions between full-shelf color fills.
 
int transitionDuration () const
 The duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.
 
void setTransitionDuration (int duration)
 Set the duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.
 
AbstractAnimationanimation () const
 The animation operating on ledStrip.
 
void setAnimation (AbstractAnimation *animation)
 Set animation operating on ledStrip.
 
bool animating () const
 Whether to run the animation.
 
void setAnimating (bool animating)
 Set whether to run the animation.
 
bool remotingEnabled () const
 Whether to enable the remoting API server.
 
void setRemotingEnabled (bool enabled)
 Set whether to enable the remoting API server.
 
QUrl listenAddress () const
 The listen address for the remoting API server.
 
void setListenAddress (const QUrl &url)
 Set the listen address for the remoting API server.
 
QHash< int, QByteArray > roleNames () const override
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
QVariant data (const QModelIndex &proxyIndex, int role) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
void classBegin () override
 Implements the QQmlParserStatus interface.
 
void componentComplete () override
 Implements the QQmlParserStatus interface.
 

Properties

LedStripledStrip
 LedStrip instance this model operates on.
 
bool enabled
 Toggle the shelf on or off.
 
int rows
 Number of boards in the shelf.
 
int columns
 Number of compartments in each shelf board.
 
int density
 Number of LEDs in each shelf compartment.
 
int wallThickness
 Number of LEDs behind each compartment-dividing wall.
 
qreal brightness
 The shelf brightness level while on.
 
bool animateBrightnessTransitions
 Toggle animated transitions between brightness levels.
 
QColor averageColor
 Average color of the shelf.
 
bool animateAverageColorTransitions
 Toggle animated transitions between full-shelf color fills.
 
int transitionDuration
 Duration in milliseconds for an animated fade between brightness levels or full-shelf color fills.
 
AbstractAnimationanimation
 Animation to operate on ledStrip.
 
bool animating
 Toggle the animation.
 
bool remotingEnabled
 Toggle the remoting API server.
 
QUrl listenAddress
 Listen address for the remoting API server.
 

Detailed Description

Data model and business logic specific to the Hyelicht shelf.

The Hyelicht shelf is a 5x5 IKEA Kallax shelf, of which the top 4 rows have LED backlighting of 104 LEDs each. This data model maps the 416 LEDs to rows in a QAbstractListModel, each row representing one compartment in the shelf.

In addition to this mapping the extended API of the model provides painting operations and sophisticated application behaviors on top of LedStrip.

ShelfModel with the remotingEnabled property enabled can act as an API server for instances of RemoteShelfModel, which act as client, either out of process or over the network. This allows running the onboard GUI out of process and also enables the PC/Android offboard instances of the application.

Communication between RemoteShelfModel and ShelfModel is implemented using Qt Remote Objects.

Implements QQmlParserStatus for use from QML.

See also
LedStrip
AbstractAnimation
QAbstractListModel
QQmlParserStatus

Member Enumeration Documentation

◆ AdditionalRoles

Non-standard model data roles offered by this model.

Enumerator
AverageColor 

Average color of the LEDs in a shelf compartment.

AverageRed 

Average red channel of the LEDs in a shelf compartment.

AverageGreen 

Average green channel of the LEDs in a shelf compartment.

AverageBlue 

Average blue channel of the LEDs in a shelf compartment.

AverageBrightness 

Average brightness channel of the LEDs in a shelf compartment.

Constructor & Destructor Documentation

◆ ShelfModel()

ShelfModel::ShelfModel ( QObject *  parent = nullptr)
explicit

Create a shelf model.

Parameters
parentParent object

Member Function Documentation

◆ animateAverageColorTransitions()

bool ShelfModel::animateAverageColorTransitions ( ) const

Whether to animate transitions between full-shelf color fills.

This property is independent of the value of the property enabled.

Returns
Full-shelf color fill transitions on or off.
See also
animateAverageColorTransitions (property)
setAnimateAverageColorTransitions
animateAverageColorTransitionsChanged
transitionDuration

◆ animateAverageColorTransitionsChanged

void ShelfModel::animateAverageColorTransitionsChanged ( bool  animate) const
signal

Whether to animate transitions between full-shelf color fills has changed.

Parameters
animateFull-shelf color fill transitions on or off.
See also
animateAverageColorTransitions
setAnimateAverageColorTransitions

◆ animateBrightnessTransitions()

bool ShelfModel::animateBrightnessTransitions ( ) const

Whether to animate transitions between brightness levels.

This property is independent of the value of the property enabled.

Returns
Brightness transitions on or off.
See also
animateBrightnessTransitions (property)
setAnimateBrightnessTransitions
animateBrightnessTransitionsChanged
transitionDuration

◆ animateBrightnessTransitionsChanged

void ShelfModel::animateBrightnessTransitionsChanged ( bool  animate) const
signal

Whether to animate transitions between brightness levels has changed.

Parameters
animateBrightness transitions on or off.
See also
animateBrightnessTransitions
setAnimateBrightnessTransitions

◆ animating()

bool ShelfModel::animating ( ) const

Whether to run the animation.

The animation will be paused when enabled is false (without changing this property).

Returns
Animation on or off.
See also
animating (property)
setAnimating
animatingChanged
animation

◆ animatingChanged

void ShelfModel::animatingChanged ( bool  animating) const
signal

Whether to run the animation has changed.

Parameters
animatingAnimation on or off.
See also
animating
setAnimating

◆ animation()

AbstractAnimation * ShelfModel::animation ( ) const

The animation operating on ledStrip.

Returns
An AbstractAnimation.
See also
animation (property)
setAnimation
animationChanged
animating

◆ animationChanged

void ShelfModel::animationChanged ( ) const
signal

The animation operating on ledStrip has changed.

See also
animation
setAnimation

◆ averageColor()

QColor ShelfModel::averageColor ( ) const

The average color of the shelf.

While animating, this is the average color of all LEDs in the ledStrip. Otherwise, it is only the color average of LEDs found in shelf compartments (in the Hyelicht shelf, some LEDs are located behind divider walls and usually turned off to reduce color bleed).

If ledStrip is not set, this has the initial or the last set value.

Returns
Average shelf color.
See also
averageColor (property)
setAverageColor
averageColorChanged
animateAverageColorTransitions

◆ averageColorChanged

void ShelfModel::averageColorChanged ( const QColor &  color) const
signal

The average color of the shelf has changed.

Parameters
colorColor to fill with.
See also
averageColor
setAverageColor

◆ brightness()

qreal ShelfModel::brightness ( ) const

The shelf brightness level while on.

This property is independent of the value of the property enabled.

Returns
Shelf brightness level between 0.0 and 1.0.
See also
brightness (property)
setBrightness
brightnessChanged
enabled
animateBrightnessTransitions

◆ brightnessChanged

void ShelfModel::brightnessChanged ( qreal  brightness) const
signal

The brightness of the shelf has changed.

Parameters
brightnessShelf brightness level between 0.0 and 1.0.
See also
brightness
setBrightness

◆ columns()

int ShelfModel::columns ( ) const

The number of compartments in each shelf board.

Returns
Number of compartments.
See also
columns (property)
setColumns
columnsChanged
rows
density
wallThickness

◆ columnsChanged

void ShelfModel::columnsChanged ( int  columns) const
signal

The number of compartments in each shelf board has changed.

Parameters
columnsNumber of compartments.
See also
columns
setColumns

◆ data()

QVariant ShelfModel::data ( const QModelIndex &  proxyIndex,
int  role 
) const
override
See also
AdditionalRoles
QAbstractItemModel::data

◆ density()

int ShelfModel::density ( ) const

The number of LEDs in each shelf compartment.

Returns
Number of LEDs.
See also
density (property)
setDensity
densityChanged
rows
columns
wallThickness

◆ densityChanged

void ShelfModel::densityChanged ( int  density) const
signal

The number of LEDs in each shelf compartment has changed.

Parameters
densityNumber of LEDs.
See also
density
setDensity

◆ enabled()

bool ShelfModel::enabled ( ) const

Whether the shelf is on or off.

When on, the shelf brightness is set to the current value of brightness.

When off, the shelf brightness is set to 0 (without changing brightness).

Returns
Shelf on or off.
See also
enabled (property)
setEnabled
enabledChanged
brightness

◆ enabledChanged

void ShelfModel::enabledChanged ( bool  enabled) const
signal

The shelf has turned on or off.

Parameters
enabledShelf on or off.
See also
enabled
setEnabled

◆ headerData()

QVariant ShelfModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
override
See also
QAbstractItemModel::headerData

◆ ledStrip()

LedStrip * ShelfModel::ledStrip ( ) const

The LedStrip instance this model operates on.

Returns
ShelfModel instance.
See also
ledStrip (property)
ledStrip
ledStripChanged

◆ ledStripChanged

void ShelfModel::ledStripChanged ( ) const
signal

The LedStrip instance this model operates on has changed.

See also
ledStrip
setLedStrip

◆ listenAddress()

QUrl ShelfModel::listenAddress ( ) const

The listen address for the remoting API server.

Returns
Animation on or off.
See also
listenAddress (property)
setListenAddress
listenAddressChanged
remotingEnabled

◆ listenAddressChanged

void ShelfModel::listenAddressChanged ( ) const
signal

The listen address for the remoting API server has changed.

See also
listenAddress
setEnabled

◆ remotingEnabled()

bool ShelfModel::remotingEnabled ( ) const

Whether to enable the remoting API server.

Returns
Server on or off.
See also
remotingEnabled (property)
setRemotingEnabled
remotingEnabledChanged
listenAddress

◆ remotingEnabledChanged

void ShelfModel::remotingEnabledChanged ( ) const
signal

Whether to enable the remoting API server has changed.

See also
remotingEnabled
setRemotingEnabled

◆ roleNames()

QHash< int, QByteArray > ShelfModel::roleNames ( ) const
override
See also
QAbstractItemModel::roleNames

◆ rowCount()

int ShelfModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
override
See also
QAbstractItemModel::rowCount

◆ rows()

int ShelfModel::rows ( ) const

The number of boards in the shelf.

Returns
Number of boards.
See also
rows (property)
setRows
rowsChanged
columns
density
wallThickness

◆ rowsChanged

void ShelfModel::rowsChanged ( int  rows) const
signal

The number of boards in the shelf has changed.

Parameters
rowsNumber of boards.
See also
rows
setRows

◆ setAnimateAverageColorTransitions()

void ShelfModel::setAnimateAverageColorTransitions ( bool  animate)

Set whether to animate transitions between full-shelf color fills.

Parameters
animateFull-shelf color fill transitions on or off.
See also
animateAverageColorTransitions
animateAverageColorTransitionsChanged
transitionDuration

◆ setAnimateBrightnessTransitions()

void ShelfModel::setAnimateBrightnessTransitions ( bool  animate)

Set whether to animate transitions between brightness levels.

Parameters
animateBrightness transitions on or off.
See also
animateBrightnessTransitions
animateBrightnessTransitionsChanged
transitionDuration

◆ setAnimating()

void ShelfModel::setAnimating ( bool  animating)

Set whether to run the animation.

The animation will be paused when enabled is false (without changing this property).

Parameters
animatingAnimation on or off.
See also
animating
animatingChanged
animation

◆ setAnimation()

void ShelfModel::setAnimation ( AbstractAnimation animation)

Set animation operating on ledStrip.

The animation will be started or stopped based on the value of animating.

Should the animation be destroyed or set to nullptr, animating is automatically set to false.

Parameters
animationAn AbstractAnimation.
See also
animation
animationChanged
animating

◆ setAverageColor()

void ShelfModel::setAverageColor ( const QColor &  color)

Sets the average color of the shelf.

When set, this sets all LEDs found in shelf compartments to the given color.

Parameters
colorColor to fill with.
See also
averageColor
averageColorChanged
animateAverageColorTransitions

◆ setBrightness()

void ShelfModel::setBrightness ( qreal  brightness)

Set the shelf brightness level while on.

Parameters
brightnessShelf brightness level between 0.0 and 1.0.
See also
brightness
brightnessChanged
enabled
animateBrightnessTransitions

◆ setColumns()

void ShelfModel::setColumns ( int  columns)

Set the number of compartments in each shelf board.

Cannot be lower than 1.

Parameters
columnsNumber of compartments.
See also
columns
columnsChanged
rows
density
wallThickness

◆ setData()

bool ShelfModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::EditRole 
)
override
See also
AdditionalRoles
QAbstractItemModel::data

◆ setDensity()

void ShelfModel::setDensity ( int  density)

Set the number of LEDs in each shelf compartment.

Cannot be lower than 1.

Parameters
densityNumber of LEDs.
See also
density
densityChanged
rows
columns
wallThickness

◆ setEnabled()

void ShelfModel::setEnabled ( bool  enabled)

Turn the shelf on or off.

When turned on, the shelf brightness is set to the current value of brightness.

When turned off, the shelf brightness is set to 0 (without changing brightness).

Parameters
enabledShelf on or off.
See also
enabled
enabledChanged
brightness

◆ setLedStrip()

void ShelfModel::setLedStrip ( LedStrip ledStrip)

Set the LedStrip instance this model operates on.

LedStrip::enabled is not required to be true in order to use the model.

Parameters
ledStripLedStrip instance.
See also
ledStrip
ledStripChanged

◆ setListenAddress()

void ShelfModel::setListenAddress ( const QUrl &  url)

Set the listen address for the remoting API server.

Can be e.g. tcp:// or local:.

Parameters
urlAnimation on or off.
See also
listenAddress
listenAddressChanged
remotingEnabled

◆ setRemotingEnabled()

void ShelfModel::setRemotingEnabled ( bool  enabled)

Set whether to enable the remoting API server.

When enabled acts as an API server for instances of RemoteShelfModel, which act as client, either out of process or over the network. This allows running the onboard GUI out of process and also enables the PC/Android offboard instances of the application.

Parameters
enabledServer on or off.
See also
remotingEnabled
remotingEnabledChanged
listenAddress

◆ setRows()

void ShelfModel::setRows ( int  rows)

Set the number of boards in the shelf.

Cannot be lower than 1.

Parameters
rowsNumber of boards.
See also
rows
rowsChanged
columns
density
wallThickness

◆ setTransitionDuration()

void ShelfModel::setTransitionDuration ( int  duration)

Set the duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.

The actual duration of a brightness fade is scaled by the delta between the old and the new brightness levels, as a fraction of the full range of 0.0 - 1.0.

Can be set to 0 to disable all animated fading and change to new brightness levels or full-shelf color fills immediately instead.

Parameters
durationBrightness transitions on or off.
See also
transitionDuration
transitionDurationChanged
animateAverageColorTransitions
animateBrightnessTransitions

◆ setWallThickness()

void ShelfModel::setWallThickness ( int  thickness)

Set the number of LEDs behind each compartment-dividing wall.

The application will turn these off most of the time, in order to improve light bleed. Cannot be lower than 0.

Parameters
thicknessWall thickness in LEDs.
See also
wallThickness
wallThicknessChanged
rows
columns
density

◆ transitionDuration()

int ShelfModel::transitionDuration ( ) const

The duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.

This property is independent of the value of the property enabled.

Returns
Full-shelf color fill transitions on or off.
See also
transitionDuration (property)
setTransitionDuration
transitionDurationChanged
animateAverageColorTransitions
animateBrightnessTransitions

◆ transitionDurationChanged

void ShelfModel::transitionDurationChanged ( int  duration) const
signal

The duration in milliseconds for an animated fade between brightness levels or full-shelf color fills has changed.

Parameters
durationBrightness transitions on or off.
See also
transitionDuration
setTransitionDuration

◆ wallThickness()

int ShelfModel::wallThickness ( ) const

The number of LEDs behind each compartment-dividing wall.

The application will turn these off most of the time, in order to improve light bleed.

Returns
Wall thickness in LEDs.
See also
wallThickness (property)
setWallThickness
wallThicknessChanged
rows
columns
density

◆ wallThicknessChanged

void ShelfModel::wallThicknessChanged ( int  thickness) const
signal

The number of LEDs behind each compartment-dividing wall has changed.

Parameters
thicknessWall thickness in LEDs.
See also
wallThickness
setWallThickness

Property Documentation

◆ animateAverageColorTransitions

bool ShelfModel::animateAverageColorTransitions
readwrite

Toggle animated transitions between full-shelf color fills.

Defaults to true.

See also
setAnimateAverageColorTransitions
animateAverageColorTransitionsChanged
transitionDuration
averageColor

◆ animateBrightnessTransitions

bool ShelfModel::animateBrightnessTransitions
readwrite

Toggle animated transitions between brightness levels.

Defaults to true.

See also
setAnimateBrightnessTransitions
animateBrightnessTransitionsChanged
transitionDuration
brightness

◆ animating

bool ShelfModel::animating
readwrite

Toggle the animation.

The animation will be paused when enabled is false (without changing this property).

Defaults to false.

See also
setAnimating
animatingChanged
animation

◆ animation

AbstractAnimation* ShelfModel::animation
readwrite

Animation to operate on ledStrip.

When set, the animation will be started or stopped based on the value of animating.

Should the animation be destroyed or set to nullptr, animating is automatically set to false.

Defaults to nullptr.

See also
setAnimation
animationChanged
animating

◆ averageColor

QColor ShelfModel::averageColor
readwrite

Average color of the shelf.

While animating, this is the average color of all LEDs in the ledStrip. Otherwise, it is only the color average of LEDs found in shelf compartments (in the Hyelicht shelf, some LEDs are located behind divider walls and usually turned off to reduce color bleed).

If ledStrip is not set, this has the initial or the last set value.

When set, this sets all LEDs found in shelf compartments to the given color.

Defaults to white. The shelf is initialized to this value at application startup.

See also
setAverageColor
averageColorChanged

◆ brightness

qreal ShelfModel::brightness
readwrite

The shelf brightness level while on.

Shelf brightness is set in a range between 0.0 and 1.0.

This property is independent of the value of the property enabled.

Defaults to 1.0.

See also
setBrightness
brightnessChanged

◆ columns

int ShelfModel::columns
readwrite

Number of compartments in each shelf board.

Cannot be lower than 1.

Defaults to 5.

See also
setColumns
columnsChanged
rows
density
wallThickness

◆ density

int ShelfModel::density
readwrite

Number of LEDs in each shelf compartment.

Cannot be lower than 1.

Defaults to 20.

See also
setDensity
densityChanged
rows
columns
wallThickness

◆ enabled

bool ShelfModel::enabled
readwrite

Toggle the shelf on or off.

When turned on, the shelf brightness is set to the current value of brightness.

When turned off, the shelf brightness is set to 0 (without changing brightness).

Defaults to false.

See also
setEnabled
enabledChanged

◆ ledStrip

LedStrip* ShelfModel::ledStrip
readwrite

LedStrip instance this model operates on.

LedStrip::enabled is not required to be true in order to use the model.

Defaults to nullptr.

See also
setLedStrip
ledStripChanged

◆ listenAddress

QUrl ShelfModel::listenAddress
readwrite

Listen address for the remoting API server.

Can be e.g. tcp:// or local:.

Defaults to tcp://0.0.0.0:8042.

See also
setListenAddress
listenAddressChanged
remotingEnabled

◆ remotingEnabled

bool ShelfModel::remotingEnabled
readwrite

Toggle the remoting API server.

When enabled acts as an API server for instances of RemoteShelfModel, which act as client, either out of process or over the network. This allows running the onboard GUI out of process and also enables the PC/Android offboard instances of the application.

Defaults to true.

See also
setRemotingEnabled
remotingEnabledChanged
listenAddress

◆ rows

int ShelfModel::rows
readwrite

Number of boards in the shelf.

Cannot be lower than 1.

Defaults to 4.

See also
setRows
rowsChanged
columns
density
wallThickness

◆ transitionDuration

int ShelfModel::transitionDuration
readwrite

Duration in milliseconds for an animated fade between brightness levels or full-shelf color fills.

The actual duration of a brightness fade is scaled by the delta between the old and the new brightness levels, as a fraction of the full range of 0.0 - 1.0.

Can be set to 0 to disable all animated fading and change to new brightness levels or full-shelf color fills immediately instead.

Defaults to 400.

See also
setTransitionDuration
transitionDurationChanged
animateBrightnessTransitions
animateAverageColorTransitions

◆ wallThickness

int ShelfModel::wallThickness
readwrite

Number of LEDs behind each compartment-dividing wall.

The application will turn these off most of the time, in order to improve light bleed.

Cannot be lower than 0.

Defaults to 1.

See also
setWallThickness
wallThicknessChanged
rows
columns
density

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