CGRU - AFANASY
C++ Python JavaScript QML Shell PHP Other
Permalink
Failed to load latest commit information.
afanasy webgui forum link points to 'Web GUI' sub-forum. Jan 19, 2017
bin documentation and forum commands to open/show in web browser Jan 18, 2017
examples demo script adopted for python3 (and when there is no "python" comman… Jan 16, 2017
icons forum icon added Jan 19, 2017
lib afanasy webgui: documentation and forum links added Jan 19, 2017
plugins nuke: if timecode used, add it to a job name Jan 20, 2017
rules rules: shot process sequences - 'jpeg' extension added (was only 'jpg') Jan 20, 2017
rules_root rules: some paths Oct 4, 2016
software_setup Clarisse: PySide is preferred. Dec 27, 2016
start afanasy: mswin start/AFANASY/_afcmd.cmd added Apr 19, 2014
utilities documentation and forum commands to open/show in web browser Jan 18, 2017
.gitignore Removed .DS_Store files from a previous commit and add them to .gitig… Jan 16, 2017
README.md new README.md started, old was deleted, it was too ancient and totall… Jan 19, 2017
config_default.json afanasy webgui: documentation and forum links added Jan 19, 2017
favicon.ico js: software icons images preload Sep 10, 2012
htaccess_example cgru keeper can launch commands parsed from HTTP protocol. Sep 14, 2016
index.html rules bookmarks thumbnails Dec 14, 2016
player.html rules player: get a link to current frame Oct 14, 2015
rules.php rules: bookmarks configurable refresh and force refresh button Dec 13, 2016
setup.cmd windows release issues Apr 25, 2016
setup.sh mrproper on setup scripts Dec 1, 2015
setup_README.cmd project from sourceforge subversion added Mar 13, 2012
setup_README.sh project from sourceforge subversion added Mar 13, 2012
setup_afanasy.cmd config default mistake, cmake project clear keeps .gitignore Mar 19, 2012
setup_afanasy.sh libafapi and libpyaf projects removed Apr 14, 2012
setup_python.cmd windows release issues Apr 25, 2016
setup_python.sh cgru: POSIX way for equality (work for zsh and bash) Jan 17, 2017
start.cmd project from sourceforge subversion added Mar 13, 2012
start.command project from sourceforge subversion added Mar 13, 2012
start.sh project from sourceforge subversion added Mar 13, 2012
version.txt 2.2.1 version started Dec 6, 2016

README.md

CGRU

It is a Computer Graphics Tools Pack. Main its tools is Afanasy and Rules. Other tools are satellites for that ones, like dailies encoding scripts and software submission plug-ins.

Afanasy is a render farm manager.

Rules is a Web based CG projects tracker.

Documentation

Forum

You can ask any questions on a CGRU forum.

GitHub issues are designed for code developing.

Coding rules:

  • Indentation - TABS. You can vary tab length, default 4 spaces length is normal.
    • Python Indentation - SPACES(4). It is not a problem to tune any modern text editor for each file type.
  • Code alignment - SPACES, it should not break on various tab length.
  • Variable names: variable_name.
  • Function names: functionName.
  • Class names: ClassName.
  • Use prefixes to make code more readable:
    • i_ - Input variables.
    • o_ - Output variables.
    • m_ - Class members.
    • ms_ - Static class members.
    • g_ - External variables.
    • v_ - Virtual functions.
  • Do not use "!" as NOT, it is not noticeable while code passing view, much more easy to notice false ==.
  • Use false == var and NULL == val and not var == false or var == NULL. As if you miss one '=' character, it will not be an error, it will be assignment, not comparison.
  • Use const & to pass complex types as function parameters to not to copy class instance.

Example:

// Function with long parameters list:
bool someFunction(
        std::string & o_status,
        const std::string & i_param1,
        const std::string & i_param2,
        const std::string & i_param3,
        const std::string & i_param4
    )
{
    ...

    if( false == variable_name )
    {
        o_status = "error";
        return false;
    }

    return true;
}

You can notice, that some parts of the code is not following this rules. This is mostly because such code was written before this rules or rules were changed.

Some names:

CGRU - came from CG - Rules. It has two meanings: computer graphics principles and computer graphics is a cool thing.

Afanasy - came from a Greek name meaning immortal.

Rules - simple came from rules! This project tracker is based on defined rules. Mostly project structure rules, where to store sources, references, dailies, outputs. As Rules has not its own database, it walks file-server folders structure.