bool timeVarying()

Check if the transform is time varying. The transform is time varying if any of its children are time varying.

  • function definition:

    bool timeVarying() const
    
  • parameters: NONE

  • output: (bool) Returns isTimeVarying

void init()

Initialize the transform. If any of the child transform are time varying, isTimeVarying is set to true. Similarly if any of the child transforms are trainable, trainable is set to true.

  • function definition:

    void init()
    
  • parameters: NONE

  • output: (void)

void project(const Template &src, Template &dst)

If the transform is time varying call timeInvariantAlias project, which ensures thread safety. If the transform is not time varying call _project.

  • function definition:

    virtual void project(const Template &src, Template &dst) const
    
  • parameters:

    Parameter Type Description
    src const Template & The input template
    dst Template & The output template
  • output: (void)

void project(const TemplateList &src, TemplateList &dst)

If the transform is time varying call timeInvariantAlias project, which ensures thread safety. If the transform is not time varying call _project.

  • function definition:

    virtual void project(const TemplateList &src, TemplateList &dst) const
    
  • parameters:

    Parameter Type Description
    src const TemplateList & The input template list
    dst TemplateList & The output template list
  • output: (void)

void _project(const Template &src, Template &dst)

This is a pure virtual function. It should handle standard projection through the child transforms

  • function definition:

    virtual void _project(const Template &src, Template &dst) const = 0
    
  • parameters:

    Parameter Type Description
    src const Template & The input template
    dst Template & The output template
  • output: (void)

void _project(const TemplateList &src, TemplateList &dst)

This is a pure virtual function. It should handle standard projection through the child transforms

  • function definition:

    virtual void _project(const TemplateList &src, TemplateList &dst) const = 0
    
  • parameters:

    Parameter Type Description
    src const TemplateList & The input template list
    dst TemplateList & The output template list
  • output: (void)

Transform *simplify(bool &newTransform)

This is a virtual function. Calls simplify on each child transform.

  • function definition:

    virtual Transform *simplify(bool &newTransform)
    
  • parameters:

    Parameter Type Description
    newTransform bool & True if a new, simplified, transform was allocated inside this call, false otherwise
  • output: (Transform *) Returns itself if none of the children can be simplified. newTransform is false in this case. If any child can be simplified a new CompositeTransform is allocated and its children are set as the result of calling simplify on each of the old children. newTransform is true in this case

Transform *smartCopy(bool &newTransform)

Get a smart copy, meaning a copy only if one is required, of this transform

  • function definition:

    Transform *smartCopy(bool &newTransform)
    
  • parameters:

    Parameter Type Description
    newTransform bool & True if a new, simplified, transform was allocated inside this call, false otherwise
  • output: (Transform *) Returns itself if isTimeVarying is false (no copy needed). newTransform is set to false in this case. If isTimeVarying is true, a new CompositeTransform is allocated and its children are set to the result of calling smartCopy on each of the old children. newTransform is true in this case.