1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain
6: This file is part of SLEPc.
7: SLEPc is distributed under a 2-clause BSD license (see LICENSE).
8: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
9: */
11: #include <slepc/private/rgimpl.h>
13: SLEPC_EXTERN PetscErrorCode RGCreate_Interval(RG);
14: SLEPC_EXTERN PetscErrorCode RGCreate_Ellipse(RG);
15: SLEPC_EXTERN PetscErrorCode RGCreate_Ring(RG);
16: SLEPC_EXTERN PetscErrorCode RGCreate_Polygon(RG);
18: /*@C
19: RGRegisterAll - Registers all of the regions in the RG package.
21: Not Collective
23: Level: advanced
25: .seealso: RGRegister()
26: @*/
27: PetscErrorCode RGRegisterAll(void)
28: {
29: PetscFunctionBegin;
30: if (RGRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
31: RGRegisterAllCalled = PETSC_TRUE;
32: PetscCall(RGRegister(RGINTERVAL,RGCreate_Interval));
33: PetscCall(RGRegister(RGELLIPSE,RGCreate_Ellipse));
34: PetscCall(RGRegister(RGRING,RGCreate_Ring));
35: PetscCall(RGRegister(RGPOLYGON,RGCreate_Polygon));
36: PetscFunctionReturn(PETSC_SUCCESS);
37: }