Skip to content
Snippets Groups Projects
  1. Dec 12, 2016
  2. Dec 09, 2016
  3. Dec 07, 2016
  4. Dec 06, 2016
    • Henry Weller's avatar
    • Mark OLESEN's avatar
      Merge branch 'feature-objectRegistry' into 'develop' · 5f9be34a
      Mark OLESEN authored
      ENH: improve objectRegistry functionality (issue #322)
      
      - Recursive searching for objects within a registry is now optional
        (previous it was always done).
      
        A recursive search effectively blocks the construction of sub-sub-registries
        if their names are 'masked' by some parent level sub-registry with
        the same name! (BUG)
      
      - Recursive search is now turned OFF by default, which makes it consistent
        with dictionary and probably causes the least number of surprises.
      
      ----
      Various new convenience methods added:
      
      lookupObjectRef()
      - returns a non-const reference.
        For example,
      
            volScalarField& U = mesh().lookupObjectRef<volScalarField>("U");
      
        Instead of
      
            volScalarField& U = const_cast<volScalarField&>
            (
                mesh().lookupObject<volScalarField>("U")
            );
      
      --
      lookupObjectPtr()
      - returns a const pointer, and nullptr on failure.
        For example,
      
            const volScalarField* Uptr = mesh().lookupObjectPtr<volScalarField>("U");
            if (Uptr)
            {
                const volScalarField& U = *Uptr;
                ...
            }
      
        Instead of
      
            if (mesh().foundObject<volScalarField>("U"))
            {
                const volScalarField& U = mesh().lookupObject<volScalarField>("U");
                ...
            }
      
      --
      lookupObjectRefPtr()
      - returns a non-const pointer, and nullptr on failure.
        For example,
      
            volScalarField* Uptr = mesh().lookupObjectRefPtr<volScalarField>("U");
            if (Uptr)
            {
                volScalarField& U = *Uptr;  // use as reference
                (*Uptr) = ...;              // or use directly
            }
      
        Instead of
      
            if (mesh().foundObject<volScalarField>("U"))
            {
                volScalarField& U = const_cast<volScalarField&>
                (
                    mesh().lookupObject<volScalarField>("U")
                );
            }
      
      --
      sortedNames()
      - now works with template parameters and with regular expression
        matching as well.
        For example,
      
            wordList names  = mesh().sortedNames();
            wordList fields = mesh().sortedName<volScalarField>();
      
        Instead of
      
            wordList names  = mesh().sortedNames();
            wordList fields = mesh().names<volScalarField>();
            Foam::sort(fields);
      
      --
      
      See merge request !83
      5f9be34a
    • Henry Weller's avatar
    • Andrew Heather's avatar
      Merge branch 'feature-runtime-post-pro-camera-update' into 'develop' · b5f0aa7f
      Andrew Heather authored
      runTimePostProcessing FO camera update
      
      - Removed the camera 'mode'
          - The (old) static camera was only appropriate when parallel
            projection was inactive, and the view was centred at (0 0 0)
          - Camera input now always requires 'position' and 'focalPoint'
          - Clip box is now optional.  Note that this is applied after the
            camera
            set-up and so will override the camera position
          - View angle is only appropriate when not using parallel projection
          - Zoom now required, applied after all other operations
            - 1 = do nothing, >1 = zoom in, <1 = zoom out
      
          Example input:
      
      ```
              camera
              {
                  // Total number of frames to generate
                  nFrameTotal 1;
      
                  // Parallel projection flag
                  parallelProjection no;
      
                  focalPoint  (0 0 0);
                  up          (0 1 0);
                  position    (0 0 1);
      
                  // Optional entries
                  clipBox     (-0.0206 -0.0254 -0.0005) (0.29 0.0254 0.0005);
                  viewAngle   20;
                  zoom        1.1;
              }
      ```
      
      See merge request !81
      b5f0aa7f
    • Andrew Heather's avatar
      aa9d90c4
    • Andrew Heather's avatar
      6508c4e9
    • mattijs's avatar
      ENH: redistributePar: remove shm data · db3699f8
      mattijs authored
      db3699f8
  5. Dec 05, 2016
  6. Dec 04, 2016
  7. Dec 03, 2016
  8. Dec 02, 2016
  9. Dec 01, 2016