## Uses of Class
com.io7m.jregions.core.unparameterized.areas.AreaD

- Packages that use AreaD
  Package | Description
  --- | ---
  com.io7m.jregions.core.conversions | Functions to convert between parameterized and unparameterized types.
  com.io7m.jregions.core.unparameterized.areas | Area types.
  com.io7m.jregions.core.unparameterized.sizes | Area sizes.
  com.io7m.jregions.generators | Quickcheck generators.

- - ### Uses of AreaD in com.io7m.jregions.core.conversions

    Methods in com.io7m.jregions.core.conversions that return AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <S> AreaD` | AreaConversions.`toAreaD​(PAreaD<S> a)` | Convert an area.

    Methods in com.io7m.jregions.core.conversions with parameters of type AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <S> PAreaD<S>` | AreaConversions.`toPAreaD​(AreaD a)` | Convert an area.

  - ### Uses of AreaD in com.io7m.jregions.core.unparameterized.areas

    Methods in com.io7m.jregions.core.unparameterized.areas that return AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AreaD` | AreasD.`alignCenter​(AreaD outer, AreaD inner)` | Align the area `inner` such that the center of the area is equal to the center of `outer`.
    `static AreaD` | AreasD.`alignHorizontallyCenter​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXCenter(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMaxX​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXMaxX(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMaxXOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnXMaxXOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignHorizontallyMinX​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXMinX(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMinXOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnXMinXOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignMaxYMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMaxYMaxXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMaxYMaxXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMaxYMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMaxYMinXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMaxYMinXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMinYMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMinYMaxXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMinYMaxXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMinYMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMinYMinXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMinYMinXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnXCenter​(AreaD outer, AreaD inner)` | Align the area `inner` along the X axis in the center of `outer`.
    `static AreaD` | AreasD.`alignOnXMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnXMaxXOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnXMaxXOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the X axis against the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnXMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnXMinXOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnXMinXOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the X axis against the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnYCenter​(AreaD outer, AreaD inner)` | Align the area `inner` along the Y axis in the center of `outer`.
    `static AreaD` | AreasD.`alignOnYMaxY​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnYMaxYOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnYMaxYOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the Y axis against the inside maximum-y edge of `outer`.
    `static AreaD` | AreasD.`alignOnYMinY​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnYMinYOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnYMinYOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the Y axis against the inside minimum-y edge of `outer`.
    `static AreaD` | AreasD.`alignVerticallyCenter​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYCenter(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMaxY​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYMaxY(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMaxYOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnYMaxYOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignVerticallyMinY​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYMinY(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMinYOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnYMinYOffset(AreaD, AreaD, double)`
    `AreaD` | AreaD.Builder.`build​()` | Builds a new `AreaD`.
    `static AreaD` | AreasD.`containing​(AreaD a, AreaD b)` | Construct a area that will contain both `a` and `b`.
    `static AreaD` | AreasD.`create​(double x, double y, double size_x, double size_y)` | Create an area of size `size_x` on the X axis and size `size_y` on the Y axis, placing the minimum corner at `(x, y)`.
    `static AreaD` | AreasD.`fitBetweenHorizontal​(AreaD fit, AreaD a, AreaD b)` | Deprecated. Use `AreasD.fitBetweenOnX(AreaD, AreaD, AreaD)`
    `static AreaD` | AreasD.`fitBetweenOnX​(AreaD fit, AreaD a, AreaD b)` | Attempt to fit `fit` between `a` and `b`, horizontally.
    `static AreaD` | AreasD.`fitBetweenOnY​(AreaD fit, AreaD a, AreaD b)` | Attempt to fit `fit` between `a` and `b`, vertically.
    `static AreaD` | AreasD.`fitBetweenVertical​(AreaD fit, AreaD a, AreaD b)` | Deprecated. Use `AreasD.fitBetweenOnY(AreaD, AreaD, AreaD)`
    `static AreaD` | AreasD.`hollowOut​(AreaD outer, double min_x_offset, double max_x_offset, double min_y_offset, double max_y_offset)` | Construct a new area that fits inside `outer` based on the given offsets from each edge.
    `static AreaD` | AreasD.`hollowOutEvenly​(AreaD outer, double offset)` | Equivalent to calling `AreasD.hollowOut(AreaD, double, double, double, double)` with `offset` for all offset parameters.
    `static AreaD` | AreasD.`moveAbsolute​(AreaD area, double x, double y)` | Move the given area to `(x, y)`.
    `static AreaD` | AreasD.`moveRelative​(AreaD area, double x, double y)` | Move the given area by `(x, y)`.
    `static AreaD` | AreasD.`moveToOrigin​(AreaD area)` | Move the given area to `(0, 0)`.
    `static AreaD` | AreaD.`of​(double minimumX, double maximumX, double minimumY, double maximumY)` | Construct a new immutable `AreaD` instance.
    `static AreaD` | AreasD.`scaleFromCenter​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMaxYMaxX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMaxYMinX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMinYMaxX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMinYMinX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`setSizeFromCenter​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMaxYMaxX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMaxYMinX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMinYMaxX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMinYMinX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.

    Methods in com.io7m.jregions.core.unparameterized.areas that return types with arguments of type AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AreaXSplitD<AreaD>` | AreasD.`splitAlongParallelToX​(AreaD area, double y)` | Split `area` along a line parallel to the X axis placed at `y` units from its own minimum-y edge.
    `static AreaYSplitD<AreaD>` | AreasD.`splitAlongParallelToY​(AreaD area, double x)` | Split `area` along a line parallel to the Y axis placed at `x` units from its own minimum-x edge.
    `static AreaXYSplitD<AreaD>` | AreasD.`splitAlongXY​(AreaD area, double x, double y)` | Split `area` along a two axis-aligned perpendicular lines that intercept at `(x, y)`.

    Methods in com.io7m.jregions.core.unparameterized.areas with parameters of type AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AreaD` | AreasD.`alignCenter​(AreaD outer, AreaD inner)` | Align the area `inner` such that the center of the area is equal to the center of `outer`.
    `static AreaD` | AreasD.`alignHorizontallyCenter​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXCenter(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMaxX​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXMaxX(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMaxXOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnXMaxXOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignHorizontallyMinX​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnXMinX(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignHorizontallyMinXOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnXMinXOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignMaxYMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMaxYMaxXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMaxYMaxXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMaxYMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMaxYMinXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMaxYMinXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the maximum-y edge is at least `offset_y` from the inside maximum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMinYMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMinYMaxXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMinYMaxXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the maximum-x edge is at least `offset_x` from the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignMinYMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignMinYMinXOffset(AreaD, AreaD, double, double)` with zero offsets.
    `static AreaD` | AreasD.`alignMinYMinXOffset​(AreaD outer, AreaD inner, double offset_x, double offset_y)` | Align the area `inner` such that the minimum-y edge is at least `offset_y` from the inside minimum-y edge of `outer` and the minimum-x edge is at least `offset_x` from the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnXCenter​(AreaD outer, AreaD inner)` | Align the area `inner` along the X axis in the center of `outer`.
    `static AreaD` | AreasD.`alignOnXMaxX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnXMaxXOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnXMaxXOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the X axis against the inside maximum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnXMinX​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnXMinXOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnXMinXOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the X axis against the inside minimum-x edge of `outer`.
    `static AreaD` | AreasD.`alignOnYCenter​(AreaD outer, AreaD inner)` | Align the area `inner` along the Y axis in the center of `outer`.
    `static AreaD` | AreasD.`alignOnYMaxY​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnYMaxYOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnYMaxYOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the Y axis against the inside maximum-y edge of `outer`.
    `static AreaD` | AreasD.`alignOnYMinY​(AreaD outer, AreaD inner)` | Equivalent to calling `AreasD.alignOnYMinYOffset(AreaD, AreaD, double)` with a zero offset.
    `static AreaD` | AreasD.`alignOnYMinYOffset​(AreaD outer, AreaD inner, double offset)` | Align the area `inner` along the Y axis against the inside minimum-y edge of `outer`.
    `static AreaD` | AreasD.`alignVerticallyCenter​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYCenter(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMaxY​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYMaxY(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMaxYOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnYMaxYOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`alignVerticallyMinY​(AreaD outer, AreaD inner)` | Deprecated. Use `AreasD.alignOnYMinY(AreaD, AreaD)`
    `static AreaD` | AreasD.`alignVerticallyMinYOffset​(AreaD outer, AreaD inner, double offset)` | Deprecated. Use `AreasD.alignOnYMinYOffset(AreaD, AreaD, double)`
    `static AreaD` | AreasD.`containing​(AreaD a, AreaD b)` | Construct a area that will contain both `a` and `b`.
    `static boolean` | AreasD.`contains​(AreaD a, AreaD b)` | Determine whether or not one area contains another.
    `static boolean` | AreasD.`containsPoint​(AreaD a, double x, double y)` | Determine whether or not a area contains a given point.
    `static boolean` | AreasD.`couldFitInside​(AreaD a, AreaD b)` | Determine whether or not one area could fit inside another.
    `static AreaD` | AreasD.`fitBetweenHorizontal​(AreaD fit, AreaD a, AreaD b)` | Deprecated. Use `AreasD.fitBetweenOnX(AreaD, AreaD, AreaD)`
    `static AreaD` | AreasD.`fitBetweenOnX​(AreaD fit, AreaD a, AreaD b)` | Attempt to fit `fit` between `a` and `b`, horizontally.
    `static AreaD` | AreasD.`fitBetweenOnY​(AreaD fit, AreaD a, AreaD b)` | Attempt to fit `fit` between `a` and `b`, vertically.
    `static AreaD` | AreasD.`fitBetweenVertical​(AreaD fit, AreaD a, AreaD b)` | Deprecated. Use `AreasD.fitBetweenOnY(AreaD, AreaD, AreaD)`
    `static AreaD` | AreasD.`hollowOut​(AreaD outer, double min_x_offset, double max_x_offset, double min_y_offset, double max_y_offset)` | Construct a new area that fits inside `outer` based on the given offsets from each edge.
    `static AreaD` | AreasD.`hollowOutEvenly​(AreaD outer, double offset)` | Equivalent to calling `AreasD.hollowOut(AreaD, double, double, double, double)` with `offset` for all offset parameters.
    `static AreaD` | AreasD.`moveAbsolute​(AreaD area, double x, double y)` | Move the given area to `(x, y)`.
    `static AreaD` | AreasD.`moveRelative​(AreaD area, double x, double y)` | Move the given area by `(x, y)`.
    `static AreaD` | AreasD.`moveToOrigin​(AreaD area)` | Move the given area to `(0, 0)`.
    `static boolean` | AreasD.`overlaps​(AreaD a, AreaD b)` | Determine whether or not two areas overlap.
    `static AreaD` | AreasD.`scaleFromCenter​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMaxYMaxX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMaxYMinX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMinYMaxX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`scaleFromMinYMinX​(AreaD area, double x_diff, double y_diff)` | Scale `area` by adding `x_diff` to the sizeX, and `y_diff` to the sizeY.
    `static AreaD` | AreasD.`setSizeFromCenter​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMaxYMaxX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMaxYMinX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMinYMaxX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static AreaD` | AreasD.`setSizeFromMinYMinX​(AreaD area, double sizeX, double sizeY)` | Set the sizeX and sizeY of `area` to `sizeX` and `sizeY`, respectively.
    `static java.lang.String` | AreasD.`show​(AreaD area)` |
    `static java.lang.String` | AreasD.`showToBuilder​(AreaD area, java.lang.StringBuilder sb)` |
    `static AreaSizeD` | AreasD.`size​(AreaD area)` |
    `static AreaXSplitD<AreaD>` | AreasD.`splitAlongParallelToX​(AreaD area, double y)` | Split `area` along a line parallel to the X axis placed at `y` units from its own minimum-y edge.
    `static AreaYSplitD<AreaD>` | AreasD.`splitAlongParallelToY​(AreaD area, double x)` | Split `area` along a line parallel to the Y axis placed at `x` units from its own minimum-x edge.
    `static AreaXYSplitD<AreaD>` | AreasD.`splitAlongXY​(AreaD area, double x, double y)` | Split `area` along a two axis-aligned perpendicular lines that intercept at `(x, y)`.

  - ### Uses of AreaD in com.io7m.jregions.core.unparameterized.sizes

    Methods in com.io7m.jregions.core.unparameterized.sizes that return AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `static AreaD` | AreaSizesD.`area​(AreaSizeD size)` | Construct an area at the origin that has the same size as `size`.

  - ### Uses of AreaD in com.io7m.jregions.generators

    Methods in com.io7m.jregions.generators that return AreaD
    Modifier and Type | Method | Description
    --- | --- | ---
    `AreaD` | AreaDGenerator.`next​()` |

Copyright © 2017 <code@io7m.com> http://io7m.com