Exemple #1
0
RegisteredSuffixedInteger::RegisteredSuffixedInteger (const Glib::ustring& label, const Glib::ustring& tip, const Glib::ustring& suffix, const Glib::ustring& key, Registry& wr, Inkscape::XML::Node* repr_in, SPDocument *doc_in)
    : RegisteredWidget<Scalar>(label, tip, 0, suffix),
      setProgrammatically(false)
{
    init_parent(key, wr, repr_in, doc_in);

    setRange (0, 1e6);
    setDigits (0);
    setIncrements(1, 10);

    _changed_connection = signal_value_changed().connect (sigc::mem_fun(*this, &RegisteredSuffixedInteger::on_value_changed));
}
Exemple #2
0
RegisteredPoint::RegisteredPoint ( const Glib::ustring& label, const Glib::ustring& tip,
                        const Glib::ustring& key, Registry& wr, Inkscape::XML::Node* repr_in,
                        SPDocument* doc_in )
    : RegisteredWidget<Point> (label, tip)
{
    init_parent(key, wr, repr_in, doc_in);

    setRange (-1e6, 1e6);
    setDigits (2);
    setIncrements(0.1, 1.0);
    _value_x_changed_connection = signal_x_value_changed().connect (sigc::mem_fun (*this, &RegisteredPoint::on_value_changed));
    _value_y_changed_connection = signal_y_value_changed().connect (sigc::mem_fun (*this, &RegisteredPoint::on_value_changed));
}
Exemple #3
0
RegisteredRandom::RegisteredRandom ( const Glib::ustring& label, const Glib::ustring& tip,
                         const Glib::ustring& key, Registry& wr, Inkscape::XML::Node* repr_in,
                         SPDocument * doc_in )
    : RegisteredWidget<Random> (label, tip)
{
    init_parent(key, wr, repr_in, doc_in);

    setProgrammatically = false;

    setRange (-1e6, 1e6);
    setDigits (2);
    setIncrements(0.1, 1.0);
    _value_changed_connection = signal_value_changed().connect (sigc::mem_fun (*this, &RegisteredRandom::on_value_changed));
    _reseeded_connection = signal_reseeded.connect(sigc::mem_fun(*this, &RegisteredRandom::on_value_changed));
}
Exemple #4
0
/*
 * resize
 */
void Volume::resize(void) {
    int w = 0;
    int h = 0;
    int d = 0;
    int start_width = 0;
    int start_height = 0;
    int start_depth = 0;
    if (!isPowerOfTwo(getWidth())) {
        w = nextPowerOfTwo(getWidth());
        start_width = (w - getWidth()) / 2;
    }
    if (!isPowerOfTwo(getHeight())) {
        h = nextPowerOfTwo(getHeight());
        start_height = (h - getHeight()) / 2;
    }
    if (!isPowerOfTwo(getDepth())) {
        d = nextPowerOfTwo(getDepth());
        start_depth = (d - getDepth()) / 2;
    }
    if ((w != 0) || (h != 0) || (d != 0)) {
        if (w == 0) {
            w = getWidth();
        }
        if (h == 0) {
            h = getHeight();
        }
        if (d == 0) {
            d = getDepth();
        }
        int _size[3];
        _size[0] = w;
        _size[1] = h;
        _size[2] = d;
        int _borderSize = 0;
        int _numberOfVoxels = (_size[0] + 2 * _borderSize) * (_size[1] + 2 * _borderSize) * (_size[2] + 2 * _borderSize);
        unsigned char* _voxelsBase = new unsigned char[_numberOfVoxels];
        for (int k = 0; k < getDepth(); k++) {
            for (int j = 0; j < getHeight(); j++) {
                for (int i = 0; i < getWidth(); i++) {
                    _voxelsBase[((start_depth + k) * (w * h)) + ((start_height + j) * w) + (start_width + i)] = voxels[(k
                            * (getWidth() * getHeight())) + (j * getWidth()) + i];
                }
            }
        }
        Point _origin = Point::origin;
        Size _extent;
        Point _center;
        for (int i = 0; i < 3; ++i) {
            _extent[i] = Scalar(_size[i]) * scale[i];
            _center[i] = _origin[i] + _extent[i] * Scalar(0.5);
        }
        unsigned char* _voxels = _voxelsBase + borderSize;
        int _increments[3];
        _increments[2] = 1;
        for (int i = 2; i > 0; --i) {
            _increments[i - 1] = _increments[i] * (_size[i] + 2 * _borderSize);
            _voxels += _borderSize * _increments[i - 1];
        }
        setNumberOfVoxels(_numberOfVoxels);
        setSize(_size);
        setOrigin(_origin);
        setExtent(_extent);
        setCenter(_center);
        delete byteVoxelsBase;
        setByteVoxelsBase(_voxelsBase);
        setBorderSize(_borderSize);
        setIncrements(_increments);
        setVoxels(_voxels);
    }
} // end resize()