Skip to content
Snippets Groups Projects
  1. Dec 13, 2016
  2. Dec 12, 2016
  3. Dec 09, 2016
  4. Dec 08, 2016
  5. Dec 07, 2016
  6. Dec 09, 2016
  7. 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
  8. Dec 05, 2016