Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
LayerCamera Class Reference
+ Inheritance diagram for LayerCamera:
Inheritance graph
[legend]
+ Collaboration diagram for LayerCamera:
Collaboration graph
[legend]

Public Member Functions

 LayerCamera (int id)
 
void loadImageAtFrame (int frame, qreal dx, qreal dy, qreal rotate, qreal scale, CameraEasingType easing, const QPointF &pathPoint, bool pathMoved)
 
QDomElement createDomElement (QDomDocument &doc) const override
 
void loadDomElement (const QDomElement &element, QString dataDirPath, ProgressCallback progressStep) override
 
bool addKeyFrame (int position, KeyFrame *pKeyFrame) override
 Adds a keyframe at the given position, unless one already exists.
 
bool removeKeyFrame (int position) override
 
void replaceKeyFrame (const KeyFrame *camera) override
 
Camera * getCameraAtFrame (int frameNumber) const
 
Camera * getLastCameraAtFrame (int frameNumber, int increment) const
 
QTransform getViewAtFrame (int frameNumber) const
 
QRect getViewRect () const
 
QSize getViewSize () const
 
void setViewRect (QRect newViewRect)
 
void setShowCameraPath (bool show)
 
bool getShowCameraPath () const
 
void setCameraEasingAtFrame (CameraEasingType type, int frame) const
 
void resetCameraAtFrame (CameraFieldOption type, int frame) const
 
void updateDotColor (DotColorType color)
 
QColor getDotColor () const
 
DotColorType getDotColorType () const
 
QString getInterpolationTextAtFrame (int frame) const
 
QPointF getPathControlPointAtFrame (int frame) const
 
bool hasSameTranslation (int frame1, int frame2) const
 
QList< QPointF > getBezierPointsAtFrame (int frame) const
 
QPointF getCenteredPathPoint (int frame) const
 
void updatePathControlPointAtFrame (const QPointF &point, int frame) const
 
void setPathMovedAtFrame (int frame, bool moved) const
 
void splitControlPointIfNeeded (int frame) const
 
void mergeControlPointIfNeeded (int frame) const
 
- Public Member Functions inherited from Layer
 Layer (int id, LAYER_TYPE eType)
 
int id () const
 
void setId (int layerId)
 
LAYER_TYPE type () const
 
void setName (QString name)
 
QString name () const
 
void switchVisibility ()
 
bool visible () const
 
void setVisible (bool b)
 
QList< int > selectedKeyFramesPositions () const
 Get selected keyframe positions sorted by position.
 
QList< int > selectedKeyFramesByLast () const
 Get selected keyframe positions based on the order they were selected.
 
virtual Status saveKeyFrameFile (KeyFrame *, QString dataPath)=0
 
virtual void loadDomElement (const QDomElement &element, QString dataDirPath, ProgressCallback progressForward)=0
 
virtual QDomElement createDomElement (QDomDocument &doc) const =0
 
QDomElement createBaseDomElement (QDomDocument &doc) const
 
void loadBaseDomElement (const QDomElement &elem)
 
int getMaxKeyFramePosition () const
 
int firstKeyFramePosition () const
 
bool keyExists (int position) const
 
int getPreviousKeyFramePosition (int position) const
 
int getNextKeyFramePosition (int position) const
 
int getPreviousFrameNumber (int position, bool isAbsolute) const
 
int getNextFrameNumber (int position, bool isAbsolute) const
 
int keyFrameCount () const
 
int selectedKeyFrameCount () const
 
bool hasAnySelectedFrames () const
 
bool insertExposureAt (int position)
 Will insert an empty frame (exposure) after the given position.
 
bool addNewKeyFrameAt (int position)
 Creates a new keyframe at the given position, unless one already exists.
 
void addOrReplaceKeyFrame (int position, KeyFrame *pKeyFrame)
 
virtual bool addKeyFrame (int position, KeyFrame *pKeyFrame)
 Adds a keyframe at the given position, unless one already exists.
 
virtual bool removeKeyFrame (int position)
 
virtual void replaceKeyFrame (const KeyFrame *pKeyFrame)=0
 
bool swapKeyFrames (int position1, int position2)
 
bool moveKeyFrame (int position, int offset)
 
KeyFrame * getKeyFrameAt (int position) const
 
KeyFrame * getLastKeyFrameAtPosition (int position) const
 
bool keyExistsWhichCovers (int frameNumber)
 
KeyFrame * getKeyFrameWhichCovers (int frameNumber) const
 
void foreachKeyFrame (std::function< void(KeyFrame *)>) const
 
void setModified (int position, bool isModified) const
 
bool isFrameSelected (int position) const
 
void setFrameSelected (int position, bool isSelected)
 
void toggleFrameSelected (int position, bool allowMultiple=false)
 
void extendSelectionTo (int position)
 
void selectAllFramesAfter (int position)
 
bool newSelectionOfConnectedFrames (int position)
 Make a selection from specified position until a blank spot appears The search is only looking forward, e.g.
 
void setExposureForSelectedFrames (int offset)
 Add or subtract exposure from selected frames.
 
bool reverseOrderOfSelection ()
 Reverse order of selected frames.
 
void deselectAll ()
 
bool moveSelectedFrames (int offset)
 
QList< int > getSelectedFramesByPos () const
 
bool canMoveSelectedFramesToOffset (int offset) const
 Predetermines whether the frames can be moved to a new position depending on the offset.
 
Status save (const QString &sDataFolder, QStringList &attachedFiles, ProgressCallback progressStep)
 
virtual Status presave (const QString &sDataFolder)
 
bool isPaintable () const
 
QList< int > dirtyFrames () const
 Returns a list of dirty frame positions.
 
void markFrameAsDirty (const int frameNumber)
 Mark the frame position as dirty.
 
void clearDirtyFrames ()
 Clear the list of dirty keyframes.
 

Protected Member Functions

Status saveKeyFrameFile (KeyFrame *, QString path) override
 
KeyFrame * createKeyFrame (int position) override
 
- Protected Member Functions inherited from Layer
virtual KeyFrame * createKeyFrame (int position)=0
 
bool loadKey (KeyFrame *)
 

Private Member Functions

void linearInterpolateTransform (Camera *)
 
qreal getInterpolationPercent (CameraEasingType type, qreal percent) const
 
QPointF getBezierPoint (const QPointF &first, const QPointF &last, const QPointF &pathPoint, qreal percent) const
 

Private Attributes

int mFieldW = 800
 
int mFieldH = 600
 
QRect viewRect
 
bool mShowPath = false
 
QColor mDotColor = Qt::red
 
DotColorType mDotColorType = DotColorType::RED
 
const int mControlPointMergeThreshold = 2000
 

Additional Inherited Members

- Public Types inherited from Layer
enum  LAYER_TYPE {
  UNDEFINED = 0 , BITMAP = 1 , VECTOR = 2 , MOVIE = 3 ,
  SOUND = 4 , CAMERA = 5
}
 

Detailed Description

Definition at line 29 of file layercamera.h.

Constructor & Destructor Documentation

◆ LayerCamera()

LayerCamera::LayerCamera ( int  id)
explicit

Definition at line 25 of file layercamera.cpp.

◆ ~LayerCamera()

LayerCamera::~LayerCamera ( )
override

Definition at line 40 of file layercamera.cpp.

Member Function Documentation

◆ addKeyFrame()

bool LayerCamera::addKeyFrame ( int  position,
KeyFrame *  pKeyFrame 
)
overridevirtual

Adds a keyframe at the given position, unless one already exists.

Parameters
positionThe new position of the keyframe
pKeyFrameThe keyframe to add. Its previous position will be overwritten
Returns
false if a keyframe already exists at the position, true if the keyframe was successfully added

Reimplemented from Layer.

Definition at line 44 of file layercamera.cpp.

◆ createDomElement()

QDomElement LayerCamera::createDomElement ( QDomDocument &  doc) const
overridevirtual

Implements Layer.

Definition at line 557 of file layercamera.cpp.

◆ createKeyFrame()

KeyFrame * LayerCamera::createKeyFrame ( int  position)
overrideprotectedvirtual

Implements Layer.

Definition at line 547 of file layercamera.cpp.

◆ getBezierPoint()

QPointF LayerCamera::getBezierPoint ( const QPointF &  first,
const QPointF &  last,
const QPointF &  pathPoint,
qreal  percent 
) const
private

Definition at line 252 of file layercamera.cpp.

◆ getBezierPointsAtFrame()

QList< QPointF > LayerCamera::getBezierPointsAtFrame ( int  frame) const

Definition at line 471 of file layercamera.cpp.

◆ getCameraAtFrame()

Camera * LayerCamera::getCameraAtFrame ( int  frameNumber) const

Definition at line 64 of file layercamera.cpp.

◆ getCenteredPathPoint()

QPointF LayerCamera::getCenteredPathPoint ( int  frame) const

Definition at line 491 of file layercamera.cpp.

◆ getDotColor()

QColor LayerCamera::getDotColor ( ) const
inline

Definition at line 59 of file layercamera.h.

◆ getDotColorType()

DotColorType LayerCamera::getDotColorType ( ) const
inline

Definition at line 60 of file layercamera.h.

◆ getInterpolationPercent()

qreal LayerCamera::getInterpolationPercent ( CameraEasingType  type,
qreal  percent 
) const
private

Definition at line 200 of file layercamera.cpp.

◆ getInterpolationTextAtFrame()

QString LayerCamera::getInterpolationTextAtFrame ( int  frame) const

Definition at line 440 of file layercamera.cpp.

◆ getLastCameraAtFrame()

Camera * LayerCamera::getLastCameraAtFrame ( int  frameNumber,
int  increment 
) const

Definition at line 69 of file layercamera.cpp.

◆ getPathControlPointAtFrame()

QPointF LayerCamera::getPathControlPointAtFrame ( int  frame) const

Definition at line 446 of file layercamera.cpp.

◆ getShowCameraPath()

bool LayerCamera::getShowCameraPath ( ) const
inline

Definition at line 55 of file layercamera.h.

◆ getViewAtFrame()

QTransform LayerCamera::getViewAtFrame ( int  frameNumber) const

Definition at line 74 of file layercamera.cpp.

◆ getViewRect()

QRect LayerCamera::getViewRect ( ) const

Definition at line 332 of file layercamera.cpp.

◆ getViewSize()

QSize LayerCamera::getViewSize ( ) const

Definition at line 337 of file layercamera.cpp.

◆ hasSameTranslation()

bool LayerCamera::hasSameTranslation ( int  frame1,
int  frame2 
) const

Definition at line 454 of file layercamera.cpp.

◆ linearInterpolateTransform()

void LayerCamera::linearInterpolateTransform ( Camera *  cam)
private

Definition at line 141 of file layercamera.cpp.

◆ loadDomElement()

void LayerCamera::loadDomElement ( const QDomElement &  element,
QString  dataDirPath,
ProgressCallback  progressStep 
)
overridevirtual

Implements Layer.

Definition at line 595 of file layercamera.cpp.

◆ loadImageAtFrame()

void LayerCamera::loadImageAtFrame ( int  frame,
qreal  dx,
qreal  dy,
qreal  rotate,
qreal  scale,
CameraEasingType  easing,
const QPointF &  pathPoint,
bool  pathMoved 
)

Definition at line 526 of file layercamera.cpp.

◆ mergeControlPointIfNeeded()

void LayerCamera::mergeControlPointIfNeeded ( int  frame) const

Definition at line 292 of file layercamera.cpp.

◆ removeKeyFrame()

bool LayerCamera::removeKeyFrame ( int  position)
overridevirtual

Reimplemented from Layer.

Definition at line 53 of file layercamera.cpp.

◆ replaceKeyFrame()

void LayerCamera::replaceKeyFrame ( const KeyFrame *  camera)
overridevirtual

Implements Layer.

Definition at line 59 of file layercamera.cpp.

◆ resetCameraAtFrame()

void LayerCamera::resetCameraAtFrame ( CameraFieldOption  type,
int  frame 
) const

Definition at line 354 of file layercamera.cpp.

◆ saveKeyFrameFile()

Status LayerCamera::saveKeyFrameFile ( KeyFrame *  ,
QString  path 
)
overrideprotectedvirtual

Implements Layer.

Definition at line 542 of file layercamera.cpp.

◆ setCameraEasingAtFrame()

void LayerCamera::setCameraEasingAtFrame ( CameraEasingType  type,
int  frame 
) const

Definition at line 347 of file layercamera.cpp.

◆ setPathMovedAtFrame()

void LayerCamera::setPathMovedAtFrame ( int  frame,
bool  moved 
) const

Definition at line 509 of file layercamera.cpp.

◆ setShowCameraPath()

void LayerCamera::setShowCameraPath ( bool  show)
inline

Definition at line 54 of file layercamera.h.

◆ setViewRect()

void LayerCamera::setViewRect ( QRect  newViewRect)

Definition at line 342 of file layercamera.cpp.

◆ splitControlPointIfNeeded()

void LayerCamera::splitControlPointIfNeeded ( int  frame) const

Definition at line 259 of file layercamera.cpp.

◆ updateDotColor()

void LayerCamera::updateDotColor ( DotColorType  color)

Definition at line 417 of file layercamera.cpp.

◆ updatePathControlPointAtFrame()

void LayerCamera::updatePathControlPointAtFrame ( const QPointF &  point,
int  frame 
) const

Definition at line 517 of file layercamera.cpp.

Member Data Documentation

◆ mControlPointMergeThreshold

const int LayerCamera::mControlPointMergeThreshold = 2000
private

Definition at line 90 of file layercamera.h.

◆ mDotColor

QColor LayerCamera::mDotColor = Qt::red
private

Definition at line 87 of file layercamera.h.

◆ mDotColorType

DotColorType LayerCamera::mDotColorType = DotColorType::RED
private

Definition at line 88 of file layercamera.h.

◆ mFieldH

int LayerCamera::mFieldH = 600
private

Definition at line 83 of file layercamera.h.

◆ mFieldW

int LayerCamera::mFieldW = 800
private

Definition at line 82 of file layercamera.h.

◆ mShowPath

bool LayerCamera::mShowPath = false
private

Definition at line 86 of file layercamera.h.

◆ viewRect

QRect LayerCamera::viewRect
private

Definition at line 84 of file layercamera.h.


The documentation for this class was generated from the following files:
  • core_lib/src/structure/layercamera.h
  • core_lib/src/structure/layercamera.cpp
Generated on Thu May 8 2025 04:47:54 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39