@@ -806,6 +806,148 @@ EXPORT_TOOLKIT int swmm_setLinkParam(int index, SM_LinkProperty param, double va
806
806
return error_code ;
807
807
}
808
808
809
+ EXPORT_TOOLKIT int swmm_getInletParam (int index , SM_InletProperty param , double * value )
810
+ ///
811
+ /// Input: index = Index of the link with desired inlet
812
+ /// param = Parameter desired (Based on enum SM_InletProperty)
813
+ /// Output: value = value to be output
814
+ /// Return: API Error
815
+ /// Purpose: Gets Link Parameter
816
+ {
817
+ int error_code = 0 ;
818
+ * value = 0 ;
819
+ TInlet * inlet ;
820
+
821
+ // Check if Open
822
+ if (swmm_IsOpenFlag () == FALSE)
823
+ {
824
+ error_code = ERR_TKAPI_INPUTNOTOPEN ;
825
+ }
826
+ // Check if object index is within bounds
827
+ else if (index < 0 || index >= Nobjects [LINK ])
828
+ {
829
+ error_code = ERR_TKAPI_OBJECT_INDEX ;
830
+ }
831
+ else
832
+ {
833
+ inlet = Link [index ].inlet ;
834
+ if (inlet )
835
+ {
836
+ switch (param )
837
+ {
838
+ case SM_INLETNUMINLETS :
839
+ * value = (double )inlet -> numInlets ; break ;
840
+ case SM_INLETCLOGFACTOR :
841
+ * value = (1 - inlet -> clogFactor ) * 100 ; break ;
842
+ case SM_INLETFLOWLIMIT :
843
+ * value = inlet -> flowLimit * UCF (FLOW ); break ;
844
+ case SM_INLETLOCALDEPRESS :
845
+ * value = inlet -> localDepress * UCF (LENGTH ); break ;
846
+ case SM_INLETLOCALWIDTH :
847
+ * value = inlet -> localWidth * UCF (LENGTH ); break ;
848
+ default : error_code = ERR_TKAPI_OUTBOUNDS ; break ;
849
+ }
850
+ }
851
+
852
+ else
853
+ {
854
+ error_code = ERR_TKAPI_NO_INLET ;
855
+ }
856
+ }
857
+ return error_code ;
858
+ };
859
+
860
+ EXPORT_TOOLKIT int swmm_setInletParam (int index , SM_InletProperty param , double value )
861
+ ///
862
+ /// Input: index = Index of link with desired inlets
863
+ /// param = Parameter desired (Based on enum SM_InletProperty)
864
+ /// value = value to be assigned
865
+ /// Return: API Error
866
+ /// Purpose: Sets Inlet Parameter
867
+ {
868
+ int error_code = 0 ;
869
+ TInlet * inlet ;
870
+ // Check if Open
871
+ if (swmm_IsOpenFlag () == FALSE)
872
+ {
873
+ error_code = ERR_TKAPI_INPUTNOTOPEN ;
874
+ }
875
+ // Check if object index is within bounds
876
+ else if (index < 0 || index >= Nobjects [LINK ])
877
+ {
878
+ error_code = ERR_TKAPI_OBJECT_INDEX ;
879
+ }
880
+ else
881
+ {
882
+ inlet = Link [index ].inlet ;
883
+ if (inlet )
884
+ {
885
+ switch (param )
886
+ {
887
+ case SM_INLETCLOGFACTOR :
888
+ inlet -> clogFactor = 1.0 - (value / 100. ); break ;
889
+ case SM_INLETFLOWLIMIT :
890
+ inlet -> flowLimit = value / UCF (FLOW ); break ;
891
+ default : error_code = ERR_TKAPI_OUTBOUNDS ; break ;
892
+ }
893
+ }
894
+
895
+ else
896
+ {
897
+ error_code = ERR_TKAPI_NO_INLET ;
898
+ }
899
+ }
900
+ return error_code ;
901
+ }
902
+
903
+ EXPORT_TOOLKIT int swmm_getInletResult (int index , SM_InletResult type , double * result )
904
+ ///
905
+ /// Input: index = Index of the link with desired inlet
906
+ /// param = Parameter desired (Based on enum SM_InletProperty)
907
+ /// Output: value = value to be output
908
+ /// Return: API Error
909
+ /// Purpose: Gets Link Parameter
910
+ {
911
+ int error_code = 0 ;
912
+ * result = 0 ;
913
+ TInlet * inlet ;
914
+
915
+ // Check if Open
916
+ if (swmm_IsOpenFlag () == FALSE)
917
+ {
918
+ error_code = ERR_TKAPI_INPUTNOTOPEN ;
919
+ }
920
+ // Check if object index is within bounds
921
+ else if (index < 0 || index >= Nobjects [LINK ])
922
+ {
923
+ error_code = ERR_TKAPI_OBJECT_INDEX ;
924
+ }
925
+ else
926
+ {
927
+ inlet = Link [index ].inlet ;
928
+ if (inlet )
929
+ {
930
+ switch (type )
931
+ {
932
+ case SM_INLETFLOWFACTOR :
933
+ * result = inlet -> flowFactor ; break ;
934
+ case SM_INLETFLOWCAPTURE :
935
+ * result = inlet -> flowCapture * UCF (FLOW ); break ;
936
+ case SM_INLETBACKFLOW :
937
+ * result = inlet -> backflow * UCF (FLOW ); break ;
938
+ case SM_INLETBACKFLOWRATIO :
939
+ * result = inlet -> backflowRatio ; break ;
940
+ default : error_code = ERR_TKAPI_OUTBOUNDS ; break ;
941
+ }
942
+ }
943
+
944
+ else
945
+ {
946
+ error_code = ERR_TKAPI_NO_INLET ;
947
+ }
948
+ }
949
+ return error_code ;
950
+ };
809
951
810
952
EXPORT_TOOLKIT int swmm_getSubcatchParam (int index , SM_SubcProperty param , double * value )
811
953
///
0 commit comments