xc
src
domain
domain
single
SingleDomAllSFreedom_Iter.h
1
// -*-c++-*-
2
//----------------------------------------------------------------------------
3
// XC program; finite element analysis code
4
// for structural analysis and design.
5
//
6
// Copyright (C) Luis C. Pérez Tato
7
//
8
// This program derives from OpenSees <http://opensees.berkeley.edu>
9
// developed by the «Pacific earthquake engineering research center».
10
//
11
// Except for the restrictions that may arise from the copyright
12
// of the original program (see copyright_opensees.txt)
13
// XC is free software: you can redistribute it and/or modify
14
// it under the terms of the GNU General Public License as published by
15
// the Free Software Foundation, either version 3 of the License, or
16
// (at your option) any later version.
17
//
18
// This software is distributed in the hope that it will be useful, but
19
// WITHOUT ANY WARRANTY; without even the implied warranty of
20
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
// GNU General Public License for more details.
22
//
23
//
24
// You should have received a copy of the GNU General Public License
25
// along with this program.
26
// If not, see <http://www.gnu.org/licenses/>.
27
//----------------------------------------------------------------------------
28
/* ****************************************************************** **
29
** OpenSees - Open System for Earthquake Engineering Simulation **
30
** Pacific Earthquake Engineering Research Center **
31
** **
32
** **
33
** (C) Copyright 1999, The Regents of the University of California **
34
** All Rights Reserved. **
35
** **
36
** Commercial use of this program without express permission of the **
37
** University of California, Berkeley, is strictly prohibited. See **
38
** file 'COPYRIGHT' in main directory for information on usage and **
39
** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
40
** **
41
** Developed by: **
42
** Frank McKenna (fmckenna@ce.berkeley.edu) **
43
** Gregory L. Fenves (fenves@ce.berkeley.edu) **
44
** Filip C. Filippou (filippou@ce.berkeley.edu) **
45
** **
46
** ****************************************************************** */
47
48
// $Revision: 1.1.1.1 $
49
// $Date: 2000/09/15 08:23:18 $
50
// $Source: /usr/local/cvs/OpenSees/SRC/domain/domain/single/SingleDomAllSFreedom_Iter.h,v $
51
52
53
// File: ~/domain/domain/single/SingleDomAllSFreedom_Iter.h
54
//
55
// Written: fmk
56
// Created: Fri Sep 20 15:27:47: 1996
57
// Revision: A
58
//
59
// Description: This file contains the class definition for
60
// SingleDomAllSFreedom_Iter. SingleDomAllSFreedom_Iter is an iter for returning
61
// all the single point constraints of an object of class Domain, including
62
// those of the LoadPAtterns.
63
// SingleDomAllSFreedom_Iters must be written for each subclass of SingleDomAllain
64
// where the stoarge of the SFreedom_Constraints changes.
65
66
#ifndef SingleDomAllSFreedom_Iter_h
67
#define SingleDomAllSFreedom_Iter_h
68
69
#include <domain/constraints/SFreedom_ConstraintIter.h>
70
#include <map>
71
72
namespace
XC
{
73
class
TaggedObjectStorage;
74
class
TaggedObjectIter;
75
class
Domain;
76
77
class
LoadPatternIter;
78
class
LoadPatternSPIter;
79
class
LoadPattern;
80
81
class
NodeLockerIter;
82
class
NodeLockerSPIter;
83
class
NodeLocker;
84
85
class
SingleDomAllSFreedom_Iter
:
public
SFreedom_ConstraintIter
86
{
87
private
:
88
Domain
*theDomain;
89
bool
doneDomainSPs;
90
SFreedom_ConstraintIter
*theDomainSPs;
91
92
std::map<int, LoadPattern*> *theLoadPatterns;
93
std::map<int, LoadPattern*>::iterator currentLoadPattern;
94
SFreedom_ConstraintIter
*theLoadPatternSPs;
95
96
std::map<int, NodeLocker*> *theNodeLockers;
97
std::map<int, NodeLocker*>::iterator currentNodeLocker;
98
SFreedom_ConstraintIter
*theNodeLockerSPs;
99
100
public
:
101
SingleDomAllSFreedom_Iter
(
Domain
&theDomain);
102
103
virtual
void
reset(
void
);
104
virtual
SFreedom_Constraint
*operator()(
void
);
105
};
106
}
// end of XC namespace
107
108
#endif
XC::SingleDomAllSFreedom_Iter
Definition:
SingleDomAllSFreedom_Iter.h:85
XC::SFreedom_Constraint
Single freedom constraint.
Definition:
SFreedom_Constraint.h:85
XC::SFreedom_ConstraintIter
Iterator over single freedom constraints.
Definition:
SFreedom_ConstraintIter.h:76
XC
Open source finite element program for structural analysis.
Definition:
ContinuaReprComponent.h:35
XC::Domain
Domain (mesh and boundary conditions) of the finite element model.
Definition:
Domain.h:117
Generated by
1.8.13